给出以下HTML标记:
<div id="my-id" class="my-class items-5"/>
如果动态生成5
,如何从class属性中提取5
?
我可以在' '
上进行拆分,并在第二个索引上引用'-'
的索引,但这似乎是如此长时间的啰嗦:
var count = $("#my-div").attr("class").split(' ')[1].split('-')[1];
答案 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-
拆分,然后获取其后的第一个字:
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;
这也适用于更多课程和不同的排序。