首页 > 解决方案 > 选择具有特定锚标记文本的 li 标记

问题描述

我有以下代码:

<ul id="ulId">
    <div>
        <div>
             <li class="cModel" style=""><a href="#">4RUNNER</a></li>
             <li class="cModel" style=""><a href="#">86</a></li>
             <li class="cModel" style=""><a href="#">AVALON</a></li>
        </div>
   </div>
</ul>

我想li使用特定的锚文本添加活动类,例如,我想将活动类添加到锚标签文本为“4RUNNER”的 li 元素。

我已经尝试了以下代码,但它不工作:

$("#ulId li").find('a:contains(4RUNNER)').addClass('active')

标签: javascriptjqueryhtml

解决方案


现在您正在将类添加active到锚点本身,您需要使用 jQuery 方法parent()向上到父节点li然后添加类:

$("#ulId li").find('a:contains(4RUNNER)').parent().addClass('active');
//Or
// $("#ulId li").find('a:contains(4RUNNER)').closest('li').addClass('active');
.active {
  background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="ulId">
  <div>
    <div>
      <li class="cModel active" style=""><a href="#">4RUNNER</a></li>
      <li class="cModel" style=""><a href="#">86</a></li>
      <li class="cModel" style=""><a href="#">AVALON</a></li>
    </div>
  </div>
</ul>


推荐阅读