使用jquery,是否有一个选择器语句直接获取具有特定字符串长度属性的所有DOM对象?jquery按属性长度选择
例如,在下面的html中,只检索具有字符串长度类3 =>的节点会导致第一个和第二个类的div?
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
使用jquery,是否有一个选择器语句直接获取具有特定字符串长度属性的所有DOM对象?jquery按属性长度选择
例如,在下面的html中,只检索具有字符串长度类3 =>的节点会导致第一个和第二个类的div?
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
有点奇怪的要求,但你可以使用filter()
来实现它。
var $divs = $('div').filter(function() {
return this.className.length === 3;
});
Rory当然有一个更优雅的解决方案,但是当我有类似的需求时,我就做了一些事情。
$(function() {
var a = [];
$div = $('div').each(function(i , el){
return ($(this)[0].className.length === 3) ? a.push($(this)) : null;
});
});
有一个很酷的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");
查看完整的解决方案在:
你可以用'过滤器()',但我真的不知道你为什么会需要一个......不管你正试图做,听起来像一个XY问题 –
什么是XY问题? – mmzc
只是谷歌它... –