的考慮下面的HTML標記:如何選擇一個特定的CSS類名稱的一部分了多類
<div id="my-id" class="my-class items-5"/>
我如何可以提取類屬性的5
,如果5
是動態生成的? 我大概可以做的' '
分裂並引用'-'
第二索引的索引,但這似乎如此長篇大論:
var count = $("#my-div").attr("class").split(' ')[1].split('-')[1];
的考慮下面的HTML標記:如何選擇一個特定的CSS類名稱的一部分了多類
<div id="my-id" class="my-class items-5"/>
我如何可以提取類屬性的5
,如果5
是動態生成的? 我大概可以做的' '
分裂並引用'-'
第二索引的索引,但這似乎如此長篇大論:
var count = $("#my-div").attr("class").split(' ')[1].split('-')[1];
一個固定的標記,你不能改變另一種解決方案,並假設相關類總是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);
<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"/>
這也將工作更多的類和不同的排序。
考慮到這是一個單一的數字。
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"/>
如果'item-5'總是最後一個類,這將工作。可能是'item-5'後面還有其他的類,例如:'class =「my-class items-5 another-class」' –
確實如此。根據上面的HTML示例,這是您的解決方案的替代方案。對於其他標記索引,分割將會更好。 – mtt
試試這個 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);
'項目-5'是你的動態類? –
@chirag,是的,'5'是動態的 –
我懷疑你並不真的需要提取它,但這取決於你爲什麼要提取它,你沒有給我們提供任何有關 –