我有一个包含以下类的div:
form-group val-presence-text val-type-pos-int val-length-10 has-success has-feedback
我想从10
班级名称中获取val-length-10
。我尝试了各种方法,但似乎没有一种方法适用于动态多类属性,例如此类。此外,10
可以是任何正整数,类可以位于类组中的任何位置。
有什么想法吗?
答案 0 :(得分:3)
您可以使用:
var val_length = $('div').attr("class").match(/val-length-(\d+)/)[1];
答案 1 :(得分:2)
一种可能的解决方案:
var n = (this.className.match(/val-length-(\d+)/) || []).pop();
或者在上下文中:
$('[class*="val-length-"]').each(function() {
var n = (this.className.match(/val-length-(\d+)/) || []).pop();
console.log(n);
});
答案 2 :(得分:0)
假设它的'val-length'永远不会改变,只是结尾的整数,你应该能够这样做:
//get an array of classes on a specific element
var classList =$('#elementId').attr('class').split(/\s+/);
//loop through them all
$.each( classList, function(index, item){
//check if any of those classes begin with val-length-
if (item.indexOf('val-length' === 0) {
console.log(item.substring(11))
}
});
答案 3 :(得分:-1)
试试这个......
$("div[class*=val-length-]").each(function() {
var s = this.className;
var length = 0;
$(s.split(" ")).each(function() {
if (this.search("val-length-") === 0) {
length = this.substr(11);
}
});
console.log(length);
});
它会找到相关的div并为你拉取值。