Jquery获取特定的元素类

时间:2014-08-27 08:30:18

标签: jquery

我想使用类名来控制元素的一些css规则,例如,可能有一个"类参数'喜欢' setwidth200',在' setwidth'之后的数字可以是任何数字。如果我知道该元素只能有一个类,那么我就可以做到这一点,但目前它看起来像这样:

<div class="main-client-block selector righted setwidth200"></div>

有没有办法从元素类列表中只获取特定的类?

3 个答案:

答案 0 :(得分:1)

是的。只需将id添加到您的div,然后:

<div id="someId" class="main-client-block selector righted setwidth200"></div>

var classes = jQuery('#someId').attr('class').split(' ');

你将获得元素的类数组。然后你可以得到任何课程。您可能还想做的是检查数组是否包含您的&#34;类&#34;然后将其拆分为属性和值以应用样式。

但为什么不这样做呢?

答案 1 :(得分:1)

您可以循环遍历所有类并检查是否设置了setwidth之类的内容。这样的事情会做:

<强> JavaScript的:

$("div").each(function () {
    var check = "setwidth";
    var classes = $(this).attr("class").split(/\s+/);
    var width = 0;
    $.each(classes, function (index, item) {
        if (item.indexOf(check) === 0) 
            width = parseInt(item.substr(check.length), 10);
    });

    console.log(width);
});

<强> FIDDLE

答案 2 :(得分:1)

移动评论以回答:

“setwidth'之后的数字可以是任意数字”不是使用CSS的好方法(它不会使用CSS,只是使用class属性作为数据存储)。

如果要从代码调整/获取宽度值,请使用data-width="200"等属性。

您可以使用.data(假定数据前缀)或.attr('data-...)来获取它们。

var width = ~~$element.data('width');

var width = ~~$element.attr('data-width');

注意~~是一种将字符串转换为整数的快速方法。