<ul id="ulel">
<li id="liel">
<a id="ael"></a>
</li>
...
</ul>
我怎么知道jquery中是否#ael
存在锚?#ulel
<ul id="ulel">
<li id="liel">
<a id="ael"></a>
</li>
...
</ul>
我怎么知道jquery中是否#ael
存在锚?#ulel
如果要查找 child 是否存在于 parent :
if ($('#ulel').find('#ael').length > 0) {
//do something
}
或者反过来,如果你想检查一个孩子是否有父母:
if ($('#ael').parents('#ulel').length > 0) {
//do something
}
尝试以下操作:
if ( $('#ael', '#ulel').length ) {
// #ael exists in #ulel
}
我喜欢使用.find(...)
jQuery 函数。您可以在文档中找到更多信息。
如果你想在 "ulel" 中选择 id "ael",你可以这样做:
myAel = $("#ulel").find("#ael");
// Verify if myAel isn't null
if(myAel) {
alert("My id exists. :)");
}
在这种情况下:
if ($("#ael").parents('#ulel').length) {
alert('Has parent "ulel"');
}
请参阅.parents() jQuery ...
如果识别任何级别的孩子,我们可以使用jquery find()
方法
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<ul id="ulel">
<li id="liel">
<a id="ael"> tst</a>
</li>
</ul>
<script>
if( $('#ulel').find('#ael')) {
$('#ael').css('color','green');
}
</script>
</body>
</html>
假设您的起点是孩子,那么:
if ($("#ael").closest("#ulel")[0]) {
// Yes, it's in there
}
closest
在元素的层次结构中找到与选择器匹配的第一个元素,从您调用它的那个开始,然后查看其父级,然后查看其父级的父级,等等。
最后的[0]
检查是查看生成的 jQuery 集是否为空。如果是,则将没有元素 at [0]
,因此条件为假。如果有,则为[0]
第一个元素,条件为真。您还可以检查.length
:
if ($("#ael").closest("#ulel").length) {
// Yes, it's in there
}
甚至
if ($("#ael").closest("#ulel").length > 0) {
// Yes, it's in there
}