2
<ul id="ulel">
  <li id="liel">
     <a id="ael"></a>
  </li>
  ...
</ul>

我怎么知道jquery中是否#ael存在锚?#ulel

4

6 回答 6

2

如果要查找 child 是否存在于 parent :

if ($('#ulel').find('#ael').length > 0) {
     //do something
}

或者反过来,如果你想检查一个孩子是否有父母:

if ($('#ael').parents('#ulel').length > 0) {
    //do something
}
于 2013-01-06T06:11:43.327 回答
2

尝试以下操作:

if ( $('#ael', '#ulel').length ) {
  // #ael exists in #ulel
}
于 2013-01-06T06:13:54.133 回答
1

我喜欢使用.find(...)jQuery 函数。您可以在文档中找到更多信息。

如果你想在 "ulel" 中选择 id "ael",你可以这样做:

myAel = $("#ulel").find("#ael");
// Verify if myAel isn't null
if(myAel) {
  alert("My id exists. :)");
}
于 2013-01-06T06:09:41.397 回答
1

在这种情况下:

if ($("#ael").parents('#ulel').length) {
    alert('Has parent "ulel"');
}

请参阅.parents() jQuery ...

于 2013-01-06T06:11:20.547 回答
1

如果识别任何级别的孩子,我们可以使用jquery find()方法

参考http://api.jquery.com/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>
于 2013-01-06T06:33:05.637 回答
0

假设您的起点是孩子,那么:

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
}
于 2013-01-06T06:10:18.787 回答