繁体   English   中英

我如何在这个元素中添加 class 或 id 只知道有多个元素包含“.side-sections .widget”

[英]How do I add class or id in this element just knowing that there is more than one element containing " .sided-sections .widget "

var b = ('data-type');

if ($(b + ":contains('cover')")) {
  $(".sided-sections .widget").addClass("cate-cover")
}

我想修复此代码,因为当我添加此代码时,它会向所有包含“.side-sections .widget”的元素添加一个类,所以我想专门用于该类仅添加 data-type='cover' 的内容谢谢

jQuery 选择器不会返回可在.match()使用的true/false值。 如果你想知道一个选择器是否找到了任何东西,你需要得到它的长度。

此外, ifthis设置为选择器匹配的元素。 如果你想设置this ,你需要使用.each()来循环所有匹配的元素。

$(b + ":contains('cover')").each(function() {
    $(this).siblings(".sided-sections .widget").addClass("cate-cover");
});

但您甚至不需要它,因为您可以将.siblings()直接应用于选择器:

$(b + ":contains('cover')").siblings(".sided-sections .widget").addClass("cate-cover");

如果这不起作用,请将 HTML 添加到您的问题中,并指出哪些元素应该获得cate-cover类。 您可能将选择器之间的关系弄错了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM