我想选择这个div:
<div class="k-widget k-window">
如果有这个孩子
<div id="window_Monthly">
我试过了:
$("div.k-window:has(div#window_Monthly)")
答案 0 :(得分:3)
您应该避免使用: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
答案 1 :(得分:1)
您的解决方案有效。请检查jsFiddle
:http://jsfiddle.net/JHQXd/
答案 2 :(得分:0)
$('.k-widget>#window_Monthly').parent()
如果孩子不是第一级后裔:
$('.k-widget #window_Monthly').parents('.k-widget')