首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较JQuery中的两个元素文本?

如何比较JQuery中的两个元素文本?
EN

Stack Overflow用户
提问于 2020-12-09 13:37:27
回答 2查看 379关注 0票数 2

在我的项目中,我使用Jquery。所以我有两个部分,每个部分有多个内容不同的元素,例如,左内容和右内容。因此,左内容和右内容具有相同的类和多个元素,而右内容是动态的,左内容是固定的。

因此,如果右内容文本和左内容文本相等,那么左内容-内容--这个特定元素--我们添加了一个新类。

我尝试了一些方法,但它并没有按照我的期望起作用。请帮我把这个修好。如果有什么问题,请纠正我。

代码语言:javascript
复制
jQuery(document).ready(function(){
   let headingElement = jQuery('#articleTitle').text();

    jQuery('.ellipsis a').filter(function(){
        return jQuery(this).text() === headingElement;
    }).addClass('active');
});
代码语言:javascript
复制
.active{
  color:yellow;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<div class="left-content">
  <div class="ellipsis">
    <a href="#">Terminology one</a>
  </div>
  <div class="ellipsis">
    <a href="#">Terminology two </a>
  </div>
  <div class="ellipsis">
    <a href="#">Terminology three</a>
  </div>
</div>

<div class="right-content">
  <h2 class="heading" id="articleTitle">Terminology two</h2>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-09 14:04:21

我希望我正确理解了你的任务。

这样的结果有必要吗?

代码语言:javascript
复制
jQuery(document).ready(function(){
let headingElement = jQuery('#articleTitle').text();
  jQuery('.ellipsis a').each(function(){
    if (!$(this).text().indexOf(headingElement)) {
      $(this).addClass('active');
    }
  });
});
代码语言:javascript
复制
.active{
  color:yellow;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<div class="left-content">
  <div class="ellipsis">
    <a href="#">Terminology one</a>
  </div>
  <div class="ellipsis">
    <a href="#">Terminology two </a>
  </div>
  <div class="ellipsis">
    <a href="#">Terminology three</a>
  </div>
</div>

<div class="right-content">
  <h2 class="heading" id="articleTitle">Terminology two</h2>
</div>

票数 1
EN

Stack Overflow用户

发布于 2020-12-09 14:00:45

您可以使用:contains,这将检查元素是否需要文本,然后对该元素进行addClass。

演示代码

代码语言:javascript
复制
jQuery(document).ready(function() {
  let headingElement = jQuery('#articleTitle').text();
  jQuery('.ellipsis a:contains(' + headingElement + ')').addClass('active');
});
代码语言:javascript
复制
.active {
  color: yellow;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<div class="left-content">
  <div class="ellipsis">
    <a href="#">Terminology one</a>
  </div>
  <div class="ellipsis">
    <a href="#">Terminology two </a>
  </div>
  <div class="ellipsis">
    <a href="#">Terminology three</a>
  </div>
</div>

<div class="right-content">
  <h2 class="heading" id="articleTitle">Terminology two</h2>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65217905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档