如何使用jQuery向元素添加类

时间:2019-03-25 18:14:46

标签: jquery

我正在使用jQuery代码片段扫描动态文本(.price-tag),然后使用该文本向元素添加类(.w-dyn-item-> .w-dyn-item免费)。

我的问题是我不仅有一个.price标签,而且还有一个.type-tag .color-tag .shape-tag,我想更改代码,以便它扫描所有这些类,然后将它们全部作为类添加到w-dyn-item(.w-dyn-item-> .w-dyn-item免费书绿色圆圈)

我将不胜感激<3

<div class="courses-list-item w-dyn-item free">

<div class="price-tag">Free</div>

<div class="type-tag">Book</div>

<div class="color-tag">Green</div>

<div class="shape-tag">Circle</div>

</div>
jQuery
( '.w-dyn-item .price-tag' ).each
(
    function( index, element )
    {
        var _this = jQuery( element );
            _this.parent().addClass( _this.text().toLowerCase() );
    }
);

1 个答案:

答案 0 :(得分:0)

尝试一下。您可以为您的内部div提供一个通用类,以进行迭代并获取要使用的类名称。请注意,您不必使用类似.item的类。您可以说$('.w-dyn-item div'),但这不是很具体,它可以获取父级中所有的div。

$('.w-dyn-item .item').each(function(index, element) {
  $(this).parent().addClass($(this).text().toLowerCase());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="courses-list-item w-dyn-item">
  <div class="item price-tag">Free</div>
  <div class="item type-tag">Book</div>
  <div class="item color-tag">Green</div>
  <div class="item shape-tag">Circle</div>
</div>

使用检查工具查看添加到w-dyn-item的所有新类。

JSFiddle:https://jsfiddle.net/b2m4eujc/