如何知道元素是父元素的子元素

时间:2013-01-06 06:07:01

标签: jquery

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

如何在jquery中#ael内存在#ulel锚点?

6 个答案:

答案 0 :(得分:2)

如果您想查找父母中是否存在儿童:

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

或者相反,如果你想检查孩子是否有父母:

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

答案 1 :(得分:2)

尝试以下方法:

if ( $('#ael', '#ulel').length ) {
  // #ael exists in #ulel
}

答案 2 :(得分:1)

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

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

myAel = $("#ulel").find("#ael");
// Verify if myAel isn't null
if(myAel) {
  alert("My id exists. :)");
}

答案 3 :(得分:1)

在这种情况下:

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

参见.parents() jQuery ...

答案 4 :(得分: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>

答案 5 :(得分:0)

假设你的出发点是孩子,那么:

if ($("#ael").closest("#ulel")[0]) {
    // Yes, it's in there
}

closest找到与元素层次结构中的选择器匹配的第一个元素,从您调用它的那个开始,然后查看其父级,然后查看其父级的父级等。

最后的[0]检查是查看生成的jQuery集是否为空。如果是,则[0]处将没有元素,因此条件为假。如果有,那么[0]将是第一个元素,条件是真实的。您还可以查看.length

if ($("#ael").closest("#ulel").length) {
    // Yes, it's in there
}

甚至

if ($("#ael").closest("#ulel").length > 0) {
    // Yes, it's in there
}