我希望收集数组包含' info',' 321'并且'危险'在jquery / Javascript中。我有以下HTML代码。
我必须使用' .etape'这个的类名。
<input class="etape btn-info others">
<input class="etape btn-321 ">
<input class="etape btn-danger others1">
<input class="etape others">
我最糟糕的剧本:
<script>
$(document).ready(function() {
var myClass;
var classNames = $('.etape').attr('class').split(/\s+/);
$( ".cc" ).each( function(index, item) {
if(item.indexOf("btn-") == 0){
myClass[] = item;
}
});
});
</script>
请帮帮我。
答案 0 :(得分:1)
以下是如何从发布的标记中获取["info", "321", "danger"]
var classes = $('.etape').map(function() {
var m = this.className.match(/btn\-(.*?)(?:\s|$)/);
return m ? m.pop().split('-').pop() : m;
}).get().filter(Boolean);
答案 1 :(得分:0)
var collection = [];
var classRegex = /btn-.*\s/;
$(".etape").each(function(index,element) {
var className = $(element).attr('class').match(classRegex);
if(className != null){
var data = className[0].replace("btn-","").trim();
collection.push(data);
}
});
答案 2 :(得分:0)
使用CSS attr选择器:
$('[class*="btn-"]').val('hello');
// returns: [<input class="etape btn-info others">, <input class="etape btn-321">, <input class="etape btn-danger others1">]