我有这么多未知数量的元素:
<div class="item item-1"></div>
<div class="item item-2"></div>
<div class="item item-3"></div>
Run Code Online (Sandbox Code Playgroud)
我想要做的是检查每个项目是否具有以"item-"开头的类名.如果为true,则提取id.像这样的东西:
$("container").each(function
if ($(this).hasClassNameStartingWith("item-"))
console.debug(theId);
);
Run Code Online (Sandbox Code Playgroud)
这怎么可能?
提前致谢!
在class属性上使用contains选择器:
$('container[class*=" item-"]').each( function() {
var classID = null;
var classes = $(this).attr('class').split( ' ' );
for (var i = 0, len < classes.length; i < len; ++i) {
var class = classes[i];
if (class.match( /^item-/ )) {
classID = class.replace("item-",'');
break;
}
}
if (classID) {
... do something ...
}
});
Run Code Online (Sandbox Code Playgroud)
在给定样本标记的情况下,请注意使用引号来包含空格.如果"item-N"类可以出现在列表的开头,并且您确定没有任何类会意外地匹配该字符串,那么您也可以省略该空格.
更新示例以显示如何提取类名的标识符部分.