如果元素通过javascript具有特定文本,则向元素添加css类

时间:2014-02-01 06:31:52

标签: javascript jquery html css

如果.active-trail元素有一个链接(li)作为包含“帮助”一词的子元素,我需要将类li添加到a元素

示例:

<li class="last expanded dropdown">

  <a href="/test1" title="" class="dropdown-toggle" data-target="#" data toggle="dropdown">
    Help <span class="caret"></span>
  </a>

</li>

<li class="last expanded dropdown">

  <a href="/test1" title="" class="dropdown-toggle" data-target="#" data toggle="dropdown">
    Contact <span class="caret"></span>
  </a>

</li>

在上面的示例中,我想将类active-trail添加到第一个li,如下所示:

<li class="last expanded dropdown active-trail">

  <a href="/test1" title="" class="dropdown-toggle" data-target="#" data toggle="dropdown">
    Help <span class="caret"></span>
  </a>

</li>

<li class="last expanded dropdown">

  <a href="/test1" title="" class="dropdown-toggle" data-target="#" data toggle="dropdown">
    Contact <span class="caret"></span>
  </a>

</li>

这可以通过javascript / jQuery,如果是这样,怎么样?谢谢!

3 个答案:

答案 0 :(得分:2)

喜欢这个 -

$('a').filter(function(){
  return $(this).text().indexOf('Help') > -1;
}).closest('li').addClass('active-trail');

答案 1 :(得分:0)

$('li a').each(function() {
    if( $(this).text().toLowerCase().search('Help') >= 0 ) {
        $(this).closest('li').addClass('active-trail')
    }
})

编辑:我更喜欢穆罕默德的解决方案,但这也应该有用。

答案 2 :(得分:0)

$.each($('li a'),function() {
    if ($(this).text.indexOf('Help') > -1) {
        $(this).parent().addClass('active-trail');
    }
});