我有一個有很多類的元素,我想訪問一個特定的類來獲取它的最後一個數字(我意識到數據屬性或ID可能是更好的選項,但現在我被困在課堂上)。我已經可以使用它的ID來選擇元素,所以我只需要確定my-target- *的最後一個數字是什麼。Javascript或JQuery字符串獲取具有某些前綴的子字符串
例
<div class="foo bar apple my-target-1"></div>
我想獲取類我-靶*,然後從中提取1。
我有一個有很多類的元素,我想訪問一個特定的類來獲取它的最後一個數字(我意識到數據屬性或ID可能是更好的選項,但現在我被困在課堂上)。我已經可以使用它的ID來選擇元素,所以我只需要確定my-target- *的最後一個數字是什麼。Javascript或JQuery字符串獲取具有某些前綴的子字符串
例
<div class="foo bar apple my-target-1"></div>
我想獲取類我-靶*,然後從中提取1。
循環遍歷所有包含'my-target'的元素,假設它是最後一個類,按空格拆分類,得到最後一個類,用' - '拆分它,然後獲取需要的值。
這裏是一個工作示例:
$(document).ready(function(){
$("[class*= my-target]").each(function(){
var extract= $(this).attr('class').split(' ').pop().split('-').pop();
$("#result").html(extract);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo bar apple my-target-1"></div>
<span id="result"></span>
這裏更好的是一個jQuery選擇器應該瞄準你的元素:
但是,這可能是更普遍比你需要的:它使用的CSS 子選擇*=
,所以這也將匹配相同的要素如下:
<div class="not-my-target"></div>
你可以嘗試選擇的組合,以獲得更多的東西具體:
$("[class^=my-target], [class*= my-target"]);
這結合了CSS 開始與選擇,用含有。
現在搶你從類名中所需的數據,你需要做一些字符串解析的class
屬性:
var numberToExtract = -1;
var elem = $("[class*=my-target-]");
if (elem)
{
classes = elem.attr("class").split(/\s+/);
$.each(classes, function(idx, el)
{
if (el.startsWith("my-target-"))
{
numberToExtract = el.split("-").pop();
return false;
}
});
}
爲了得到啓動任何一個與班試試這個
$('div[id^=foo bar apple my-target]')
如果您使用的是類,而不是一個數據屬性卡,你可以提取的類從對象你」滿弦ve found found with:
obj.attr('class')
然後將其與使用字邊界和捕獲括號的正則表達式進行匹配提取'my-target-*'
末尾的數字您必須具有ID才能捕獲特定的div或跨度內容。 小心,也許你有一個班級和一個小班。
<div id='id' class='myclass mysubclass' >Testing</div>
所以,如果你想擁有類選擇,請執行以下操作:
var className = '.'+$('#id').attr('class').split(' ').join('.')
,你將有
.myclass.mysubclass
現在,如果你想選擇所有具有相同類的元素,例如div:
var class=$('.'+$('#id').attr('class').split(' ').join('.'))
這意味着
var class=$('.myclass.mysubclass')
如果你想第二類爲利用成元素
var class_name = $('#id').attr('class').split(' ')[1]
多個類別;`
,或者你可以簡單地使用var className = $('#id').attr('class');
這將返回全名類和子類然後使用JQuery/JavaScript子串方法處理它。
它總是我的目標 - *? – KAD
是的,它將永遠是我的目標 - * – MicFin
完美的情況下使用數據屬性,而不是類 – epascarello