我想使用类名来控制元素的一些css规则,例如,可能有一个"类参数'喜欢' setwidth200',在' setwidth'之后的数字可以是任何数字。如果我知道该元素只能有一个类,那么我就可以做到这一点,但目前它看起来像这样:
<div class="main-client-block selector righted setwidth200"></div>
有没有办法从元素类列表中只获取特定的类?
答案 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');
注意~~是一种将字符串转换为整数的快速方法。