我的任务是测试元素的一个或多个子元素是否具有给定属性,如果标记是
<div>
<div attributename="xyz" />
</div>
那么测试是真的但是如果标记是
<div>
<div>
<div attributename="xyz" />
</div>
</div>
那么结果应该是错误的。
到目前为止,我已经到了
$(":[attributename]",context);
但这两种情况都会返回 true
我的任务是测试元素的一个或多个子元素是否具有给定属性,如果标记是
<div>
<div attributename="xyz" />
</div>
那么测试是真的但是如果标记是
<div>
<div>
<div attributename="xyz" />
</div>
</div>
那么结果应该是错误的。
到目前为止,我已经到了
$(":[attributename]",context);
但这两种情况都会返回 true
用这个...
$(context).children(":[attributename]");
当你这样做...
$(":[attributename]",context)
......这只是一种迂回的方式......
$(context).find(":[attributename]")
...这更清楚地显示了正在发生的事情。您正在搜索所有后代。
您是指>
仅选择直接后代元素的选择器吗?
$("> div[attributename=xyz]",context);
请阅读此答案下方的评论!