如何使用jQuery或JavaScript将属性更改为整个元素类?

我想将属性更改为许多元素都具有相同的类。

我有很多带有“ data-lc-categories = all”属性的“ a”标签。

我想将该属性(data-lc-categories)更改为所有带有动画类别的a标签,使其变为data-lc-categories =“ animation”。

我的问题是,如果我尝试使用ID选择元素,则可以使用

setattribute('data-lc-categories','animation'); // javascript

OR

$('#test1').attr({
    "data-lc-categories": "animation","title": "some title"
}); // jQuery

但是当我尝试

document.getElementsByClassname(".img_portfolio_animation")
 .setattribute('data-lc-categories','animation');

OR

$('.animation').attr("data-lc-categories": "animation") 

它不起作用。

<div class="new_filter_btns_container">
    <ul>
         <li id="filter_All" class="filter_btn">All</li>
         <li id="filter_animations" class="filter_btn">Animations</li>
         <li id="filter_interior" class="filter_btn">Interior Renders</li>
    </ul>
</div>

<a id="test1" class="animation all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Animation</a>
<a class="animation all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Animation</a>
<a class="animation all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Animation</a>
<a class="animation all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Animation</a>
<a class="interior all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Interior</a>
<a class="interior all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Interior</a>
<a class="interior all"     href="" data-rel="lightcase:myCollection" data-lc-categories="All">Interior</a>
<a class="interior all" href="" data-rel="lightcase:myCollection" data-lc-categories="All">Interior</a>
mengfanxiang123 回答:如何使用jQuery或JavaScript将属性更改为整个元素类?

普通的JS版本不起作用,因为getElementsByClassName()返回了一个nodeList。因此,您无法在其上调用setAttribute()。您需要逐个循环浏览元素,并一一调用它们上的方法,如下所示:

var elements = document.getElementsByClassName(".img_portfolio_animation");
for (var i = 0; i < elements.length; i++) {
  elements[i].setAttribute('data-lc-categories','animation');
}

jQuery版本不能简单地工作,因为您需要使用逗号而不是冒号来分隔参数:

$('.animation').attr("data-lc-categories","animation") 
本文链接:https://www.f2er.com/3165546.html

大家都在问