如果有更多同级元素具有相同的类,请在 If 条件中选择元素


如果有更多同

级元素,我想选择这个具有相同文本的元素 $('.art-h .head-art'(

if($('.art-h .head-art').text() == $(this).text()) { ... }
我相信

你需要使用.filter..尝试下一个代码

$('.rel-head').click(function() {
  var el = $(this);
  $('.art-h .head-art').filter(function(){
      return $(this).text().trim() == el.text().trim();
  }).toggle();  // change toggle() with any action you want
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="art-h">
  <div class="head-art">some text</div>
</div>
<div class="art-h">
  <div class="head-art">another text</div>
</div>
<div class="related-heads">
  <h1 class="rel-head">some text</h1>
</div>
<div class="related-heads">
  <h1 class="rel-head">another text</h1>
</div>

下面是

一个使用vanilla JS和find()方法的示例。

这对你有用吗?

const getArt = (text) => {
  return Array.from(document.querySelectorAll('.head-art')).find(e => e.innerText === text);
};
console.log(getArt('some text'));
console.log(getArt('anoter text'));
<div class="art-h">
  <div class="head-art">some text</div>
</div>
<div class="art-h">
  <div class="head-art">anoter text</div>
</div>
<div class "related-heads">
  <h1 class="rel-head">some text</h1>
</div>

最新更新