猿问

使用 JQuery 的 find 方法,如何根据“foo”子元素的内容选择某个 HTML 元素

假设我有如下 HTML:


<div class="foo-container">

  <div class="foo">

    <div class="foo-child">

      <span>The Important Label</span>

    </div>

  </div>

  <div class="elem-to-manipulate">

    <p>I want to manipulate the style in this because it's the sibling of "The Important Label"</p>

  </div>

</div>

p基于其同级元素具有 text 的事实,我如何定位该元素The Important Label。


我得到了类似的东西


$('.root').find('.foo > .foo-child > span:contains("The Important Label")')

这成功地让我获得了span元素。但现在我如何获取p兄弟中的元素div?有没有办法告诉 find 哪个父母要得到兄弟姐妹?


手掌心
浏览 89回答 1
1回答

隔江千里

$('.root').find('.foo:has(>&nbsp;.foo-child&nbsp;>&nbsp;span:contains("The&nbsp;Important&nbsp;Label"))&nbsp;+&nbsp;div&nbsp;>&nbsp;p')aaa:has(bbb)检查是否有匹配的内容aaa bbb,然后才匹配aaa+匹配先前匹配元素的下一个同级元素(根据您的用例,您可能会满意.foo:contains("The Important Label") + div > p......)
随时随地看视频慕课网APP

相关分类

Html5
我要回答