使用jquery,是否有一个selector语句直接获取具有特定字符串长度的属性的所有DOM对象?
例如,在下面的html中,只检索具有字符串长度3 =>类的节点。结果是第一类和第二类的div?
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
答案 0 :(得分:6)
有点奇怪的要求,但您可以使用filter()
来实现它。
var $divs = $('div').filter(function() {
return this.className.length === 3;
});
答案 1 :(得分:2)
使用正则表达式来选择元素有一个很酷的function from James Padolsey。
示例:
// Select all DIVs with classes that are three characters long:
$('div:regex(class,^[a-zA-Z]{3}$)').css("background-color","black");
请参阅以下完整解决方案:
答案 2 :(得分:0)
罗里当然有一个更优雅的解决方案,但是当我有类似的要求时,这是我做过的事情。
$(function () {
var a = [];
$div = $('div').each( function(i , el){
return ($(this)[0].className.length === 3) ? a.push($(this)) : null;
});
});