我正在尝试选择这个 div:
<div class="k-widget k-window">
如果它有这个孩子
<div id="window_Monthly">
我试过了:
$("div.k-window:has(div#window_Monthly)")
我正在尝试选择这个 div:
<div class="k-widget k-window">
如果它有这个孩子
<div id="window_Monthly">
我试过了:
$("div.k-window:has(div#window_Monthly)")
你应该避免使用:has()
. 根据 API,
因为 :has() 是 jQuery 扩展而不是 CSS 规范的一部分,所以使用 :has() 的查询无法利用原生 DOM querySelectorAll() 方法提供的性能提升。为了在现代浏览器中获得更好的性能,请改用 $("your-pure-css-selector").has(selector/DOMElement) 。
但是,还有其他一些方法可以解决这个问题:
$("div.k-window div#window_Monthly")
$(".k-window #window_Monthly")
演示:http: //jsfiddle.net/JHQXd/1/
IMO,最好使用.find()
,.children()
但两者都是有效的。
if($('div.k-window').find('#window_Monthly').length)
//do something
或者
if($('div.k-window').find('#window_Monthly').length > 0)
//do something
演示:http: //jsfiddle.net/JHQXd/2/
您的解决方案有效。请检查:http jsFiddle
: //jsfiddle.net/JHQXd/
$('.k-widget>#window_Monthly').parent()
如果孩子不是一级后代:
$('.k-widget #window_Monthly').parents('.k-widget')