[英]How do I use jQuery to hide an element with no class or ID… when the parent has no id either?
我想使用jQuery处理给定搜索框中的事件。 我的问题是
运行时HTML如下所示:(从Chrome Developer工具中改编而成,仅显示了相关的类和ID。没有要显示的ID。)
<body class=km-ios7 km-7 km-m0 km-web km-black-status-bar km-vertical km-widget km-pane>
<div class="km-widget km-view">
<!-- Begin 3rd party control -->
<div class=class="km-widget km-view">
<div km-header>
<div class="km-content km-widget km-scroll-wrapper">
<div class=km-scroll-header>
<div class=km-scroll-container>
<div class="km-listview-wrapper">
<form class="km-filter-form">
<div class="km-filter-wrap">
<input type=search >
我尝试过的
由于我的活动没有触发,因此我认为我的选择器错误。 完成“检查元素”后,我打开了chrome开发人员工具。 工具的底部列出了用于该元素的所有父标记(没有类或ID)。 作为测试,我尝试使用以下方法隐藏搜索框:
$("div").hide(); // hides everything...
$("div div").hide(); // hides the wrong element on the page
$("input").hide(); // nothing
$(":input").hide(); // nothing... saw this example somewhere, don't understand it
$("input:text").hide(); // nothing... saw this example (http://stackoverflow.com/q/17384218/328397), don't understand it
我查看了这份W3文档 ,但没有看到我想要的东西(除非我错过了它)
任何对获得正确选择器的帮助将不胜感激。
在您链接的页面中,它是defaultHomecontent
下的第二个div,因此
$("#defaultHomeContent div:nth-child(2)")
您可以使用查找功能。 假设您像这样在footer div中有输入字段。
<div id="footer">
<div>
<div>
<input type="text" name="text" value="Search" />
</div>
</div>
</div>
您可以像这样使用选择器$(“#footer input”)。hide()或$(“#footer”)。find(“ input”)。hide()或$('input [name = text]',' #footer')。hide();
您实际上想使用km-filter-wrap
类隐藏div。
一种更安全的选择是不处理选择器,而是显示/隐藏ListViewFilter的searchInput
元素的searchInput
元素:
var listView = $("#local-filterable-listview").kendoMobileListView({
...
}).getKendoMobileListView();
listView._filter.searchInput.parent().hide();
要么
listView.wrapper.find(".km-filter-wrap").hide();
通常,最好使用Kendo UI控件公开的元素,而不要手动构建查询(因为它们可能在将来的版本中更改)。
您也可以使用自己的API方法扩展ListView小部件:
kendo.mobile.ui.ListView.fn.filterVisible = function(value) {
var wrapper = this._filter.searchInput.parent();
if (value) {
wrapper.show();
} else {
wrapper.hide();
}
};
那么你可以使用
listView.filterVisible(false); // hide the filter
根据您添加的内容。
你可以用
$("input[type='search']")
作为选择器。
看看是否有帮助。 这是一个例子
您还可以通过以下方式组合选择器:
var $container = $("div.km-widget");
var $searchBox = $container.find("input[type='search']");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.