当前位置: 首页 > 知识库问答 >
问题:

jQuery.每个带有if条件的函数都适用于第一个元素

洪俊能
2023-03-14

我有HTML内容(实际上是一个WordPress插件的标签,像这样)-

<div class="store-tabs">
        <ul class="list-inline">
            <li><a href="https://example.com/store/">Products</a></li>
            <li><a href="https://example.com/store/reviews">Reviews</a></li>
        </ul>
</div>

如果我在匹配的URL上,我正在尝试将“active”类添加到link元素中。我的问题是,条件只对第一个元素起作用,但第二个元素没有得到类。这是我的jQuery-

jQuery(document).ready(function($){
  
  var url      = window.location.href;

  $('.store-tabs .list-inline li a').each(function(){

    var current = $(this).attr('href');

    if (current == url) {
      $(this).addClass('active');
    }

   });

});

更新

代码是正确的,但我的URL在结尾没有匹配的尾随斜杠。我通过添加斜杠(URL是自动生成的)修正了它-

if(current.slice(current.length - 1) != '/') {
      current = current + '/';
    }

谢谢大家:)

共有1个答案

牧梓
2023-03-14

https://example.com/store/reviews不等于https://example.com/store/reviews/。尝试将“/”添加到href=“https://example.com/store/reviews”的末尾

 类似资料:
  • 问题内容: 我有3个具有相同ID的按钮,当他被点击时,我需要获取每个按钮的值。 这是我当前的脚本: 但这仅适用于第一个按钮,单击其他按钮将被忽略。 问题答案: 我有3个具有相同ID的按钮… 您的HTML无效,同一页面中的元素不能超过一个。 引用规格: 7.5.2 元素标识符:id和class属性 id =名称[CS] 此属性为元素分配名称。此名称在文档中必须唯一。 解决方案 :从更改为, 和 jQ

  • 问题内容: 我试图获得一个if语句从多个条件中触发,而不用不同的触发器多次重写该语句。例如: 您如何将这些内容浓缩成一个陈述? 我试过使用“或”,并且无论输入是否符合任何条件,它都会导致任何raw_input触发语句。 问题答案: 你想做的是 如果您有很多可能性,请选择另一个选项: 由于您使用的是2.7,因此您也可以这样编写(在2.7或3+版本中有效,但在2.6或以下版本中无效): 这使元素成为您

  • 我试图使用web控制台获取页面上所有h2标记中的文本。 我所发现的就是使用每一种,我已经试过了 但是它返回

  • 问题内容: 如何将函数应用于变量输入列表?例如,函数返回真值,但不返回函数的实际输出。 预期的输出是: 我知道是内置的。这只是一个例子。 问题答案: 我认为您的意思是使用而不是: 更简单的是,您可以使用而不是从中导入(感谢@alecxe): 在Python 2.x中,通过将给定函数应用于列表中的每个元素来构造新列表。通过限制使用给定函数求值的元素来构造新列表。 在Python 3.x中,和构建迭代

  • 我试图让if语句从多个条件触发,而不使用不同的触发器多次重写该语句。例如。: 你会如何把这些浓缩成一个陈述? 我尝试过使用'or',它导致任何原始输入触发语句,而不管输入是否匹配任一条件。

  • 问题内容: 如何获取与流中的条件匹配的第一个元素?我已经尝试过了但是没用 该条件不起作用,在除Stop之外的其他类中调用filter方法。 问题答案: 这可能是您要寻找的: 一个例子: 输出为: