2015-04-04 103 views
0

我想用jquery選擇第二個類的值。例如; 用jquery選擇div class name

<div class="mb-20"></div> 

我怎樣才能從後 「MB-」, 「20」 的價值?

+1

沒有「秒」級的數值,這是一個單一的className – adeneo 2015-04-04 01:06:42

+1

如果您希望定位以'20'結束一類的每一個元素,你可以做'$('[類$ = 「20」]')' – adeneo 2015-04-04 01:07:24

+2

你會解析字符串「mb-20」中的「20」。你如何定義你的模式來解析這個值取決於你。您可以將字符串拆分爲「 - 」並採用第二個索引或最後一個索引。你可以不用任何東西來替換「mb-」。您可以從索引3開始獲取子字符串。等等。您擁有的是一個字符串。你想要的是該字符串的一部分。確定給你那個部分的模式,然後實現它。 – David 2015-04-04 01:07:26

回答

0

如果您已經選擇了div,您可以迭代其類,並在連字符上拆分每個類。類似...

$.each($('div').attr('class').split(/s+/), function(idx, val) { 
    var parts = val.split('-'); 
    var classBase = parts[0]; 
    var classModifier = parts.length > 1 ? parts[1] : null; 

    if(classModifier !== null) alert("found class modifier" + classModifier); 
}); 
1

這裏是你需要的一個樣本,說明我在單擊div時做出的這個樣例。

// The selector just get all class starting with mb 
$('[class^="mb"]').on('click', function() { 
    alert($(this).attr('class').split('-')[1]); 
}); 

這裏是FIDDLE

+1

非常感謝您的幫助。 有一個問題,當你添加一個更多的課程時,它也需要它; https://jsfiddle.net/hfezwfqj/1/ – kront 2015-04-04 02:38:37

0

如果div■找多個類,你可以這樣做:

$('[class^="mb"]').on('click', function() { 
    alert($(this).attr('class').split(' ')[0].split('-')[1]); 
}); 

這將讓第一類元件的第一,第二,將其與-分開並返回該號碼。

Here is the updated Gonzalo Bahamondez's fiddle.