如何从多个类

时间:2017-07-25 13:30:26

标签: jquery

给出以下HTML标记:

<div id="my-id" class="my-class items-5"/>

如果动态生成5,如何从class属性中提取5? 我可以在' '上进行拆分,并在第二个索引上引用'-'的索引,但这似乎是如此长时间的啰嗦:

var count = $("#my-div").attr("class").split(' ')[1].split('-')[1];

3 个答案:

答案 0 :(得分:0)

考虑到它是一位数。

var divClass = $("#my-div").attr("class");
var digit = divClass.substr(-1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="my-div" class="my-class items-5"/>

答案 1 :(得分:0)

试试这个 https://jsfiddle.net/fm7dp4ht/

var count;
var parsed;
var classList = document.getElementById('my-id').className.split(/\s+/);
for (var i = 0; i < classList.length; i++) {
    if (parsed = classList[i].match(/^items-([0-9]*)$/)) {
        count = parsed[1];
        break;
    }
}
alert(count);

答案 2 :(得分:0)

您无法更改的固定标记的另一种解决方案,并假设相关类始终为items-number,则要按items-拆分,然后获取其后的第一个字:

&#13;
&#13;
var count = $("#my-id").attr("class").split('items-')[1].split(' ')[0];
console.log(count);

var count2 = $("#my-id2").attr("class").split('items-')[1].split(' ')[0];
console.log(count2);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="my-id" class="my-class items-5"/>
<div id="my-id2" class="my-class items-23 another-class"/>
&#13;
&#13;
&#13;

这也适用于更多课程和不同的排序。