我需要编写 jquery 代码,例如:
if($('label').hasClass('info_')) {
}
有很多类名,如:info_1、info_2、info_3 等。所以,如果标签有一个以 info_ 开头的类名,我必须这样写。做点什么。
但我查看了 jquery 站点并搜索了 hasClass()。没有这方面的例子。有什么办法吗?谢谢你。
我需要编写 jquery 代码,例如:
if($('label').hasClass('info_')) {
}
有很多类名,如:info_1、info_2、info_3 等。所以,如果标签有一个以 info_ 开头的类名,我必须这样写。做点什么。
但我查看了 jquery 站点并搜索了 hasClass()。没有这方面的例子。有什么办法吗?谢谢你。
尝试使用:
$("[class^=info_]"); //Classes Starts with info_
$('[class*=info_]'); // Classes which contains info_
根据您的代码而不是hasClass
if($('label').is('[class*=info_]')){} //Contains
或者
if($('label').is('[class^=info_]')){} //Starts with
你不能用hasClass
,但你可以用filter
。您可以浏览课程,并找到匹配的课程。
var $labels = $('label').filter(function(){
return /\b(info_\d+)\b/.test(this.className);
});
if( /(^|\s)info_/.test( $('label')[0].className ) ) {
}
或者如果您有多个标签:
if ($("label").is(function() {
return /(^|\s)info_/.test(this.className);
})) {
}
一个元素可以有多个class
值(用空格分隔)。所以使用这样的东西:
<label class="has_info info_1">...</label>
然后你可以这样做:
if ( $('label').hasClass('has_info')
{
// ...
}
编辑:“开始于”CSS 选择器可能是这里更好的路线。然而,接下来的内容仍然是正确的。
虽然我确实认为这$(label).hasClass()
是一个坏主意。你可能想要这样的东西:
$('label').each(function() {
if ( $(this).hasClass('has_info') )
{
// ...
}
});
如果要检查类名称是否以...开头,则可以使用以下代码您要检查以 myclass- 开头
的类,因此它会根据您在警报中的输入为您提供出现次数。据此,输出为 2。
<div class="myclass-s1"></div>
<div class="myclass-b10"></div>
<div class="myclassb10"></div>
$.expr[':'].hasClassStartingWithInput = function(obj){
return ((/\bmyclass-/).test(obj.className)); //here is the input(myclass-)that you need to give
};