繁体   English   中英

将DOM元素与jQuery进行比较

[英]Comparing DOM elements with jQuery

我在jQuery each迭代器内部进行工作:

$('p').each(function(){ ... });

我想创建一个表达式,在以下情况下计算结果为true:

  • $(this)是最后一个p元素
  • 范围是$(this).parent()
  • $(this)必须是$(this).parent()的直接子代
  • $(this)不一定是$(this).parent()的最后一个直接子$(this).parent()

以下是一些情况,所需的p用星号标记:

<div>
  <p>div1 p1</p>
  <p>div1 p2</p>
  <p>div1 p3***</p>
</div>

<div>
  <p>div2 p1***</p>
  <span>div2 s1</span>
</div>

<div>
  <p>div3 p1***</p>
  <div>
    div3 d1
    <p>div3 p2</p>
  </div>
</div>

我会发布解决方案的尝试,但是失败的尝试太多了。 谢谢您的帮助。

您可以使用如下选择器:

$('body > div').each(function() {
    $(this).children('p:last').each(function() { /* ... */ });
});

它将返回所有想要的<p>标签。

这是一个演示: http : //jsbin.com/orage | 见资料


您的原始要求没有任何意义。

$(this)必须是$(this).parent()的直接子代

$(this)始终是一个直接子$(this).parent()由什么的定义parent()一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM