首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

求jquery怎么根据某个属性的长度过滤数据?

2013-11-01 
求jquery如何根据某个属性的长度过滤数据??div treeT123/divdiv treeT01123/divdiv tree

求jquery如何根据某个属性的长度过滤数据??


<div tree="T">123</div>
<div tree="T01">123</div>
<div tree="T02">123</div>
<div tree="T0101">123</div>
<div tree="T0201">123</div>

如果我使用$("div[tree*=T]")过滤,则以上所有div都会被过滤出来。
但是我只想过滤以T开头,tree属性长度为3位的div,也就是第2,3两个div!
或者我只想过滤以T01开头,tree属性长度为5位的div,也就是第4个div!
请问如何实现???
[解决办法]

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
//以什么开头和tree的长度分别判断一次就可以了
//下面的是找出以T01开头的DIV tree的长度
$(function(){
$("div[tree^=T01]").each(function(){
alert($(this).attr('tree').length);
});
})
</script>
<div tree="T">123</div>
<div tree="T01">123</div>
<div tree="T02">123</div>
<div tree="T0101">123</div>
<div tree="T0201">123</div>

[解决办法]
jquery选择器好像没提供这种功能,就算提供jquery也是获取指定的内容后对比进行过滤的,使用的还是底层的document.getElementById,document.getElementsByTagName等底层的DOM对象方法而已
[解决办法]
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
//过滤以T01开头,tree属性长度为5位的div,
$("div").filter(function(){
return /^T01..$/.test($(this).attr("tree"));
}).css("background-color","#ff0000");
})
</script>
<div tree="T">123</div>
<div tree="T01">123</div>
<div tree="T02">123</div>
<div tree="T0101">123</div>
<div tree="T0201">123</div>

热点排行