jQuery每个循环只将类应用于具有子字符串的特定元素

时间:2016-10-14 11:57:34

标签: jquery

遇到一些循环元素并根据其href添加类的问题。 该类似乎适用于所有元素,即使这些元素在其href中没有子字符串。

HTML:

<ul>
  <li><a href="#special-link">link 1</a></li>
  <li><a href="/normallink1">link 2</a></li>
  <li><a href="/normallink2">link 3</a></li>
</ul>

JQUERY:

$('a').each(function() {
    var _this = $(this);
  if(_this.attr('href').substr('special')!==0){
    _this.addClass('special_link');
  }
});

我还设置了http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#complex-find-conditions。 如果这可能是重复的任何道歉,我在发布问题之前确实看了一眼。

感谢。

2 个答案:

答案 0 :(得分:3)

  1. 不需要每个循环

    $("a[href*='special']").addClass('special_link');
    

答案 1 :(得分:2)

这应该对你有用,

$('a').each(function() {
    var _this = $(this);
    if(_this.attr('href').indexOf('special') > -1){
        _this.addClass('special_link');
    }
});