jquery selector id,class,rel etc其中value大于给定的数字 [英] jquery selector id,class,rel etc where value greater than a given number
本文介绍了jquery selector id,class,rel etc其中value大于给定的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想淡化所有数字属性大于或小于给定数字的div。
I would like to fade all divs that have a numeric attribute greater than or less than a given number.
类似 $( div [id $ = 2])。fadeTo(slow,0.6);
但我想使用> 或<运算符代替=
but I would like to use the ">" or "<" operator instead of "="
基本上我会将所有div命名为
basically I would name all my divs something like
<div id="22">text</div>
<div id="35">text</div>
<div id="40">text</div>
然后使用
$( "div[id$>35]" ).fadeTo("slow", 0.6);
淡出最后一个单元格
推荐答案
首先,您的HTML无效。 ID
属性不应该以数字开头。
First of all, your HTML is not valid. ID
attribute should not start with a number.
这样做,
<div id="div22" class="fade">text</div>
<div id="div35" class="fade">text</div>
<div id="div40" class="fade">text</div>
然后jQuery
var divs = $('.fade').map(function(){
if (this.id.replace('div','') > 35) return '#'+this.id;
}).get().join(',');
$(divs).fadeTo("slow", 0.6);
这也有效,
var divs = $('.fade').map(function(){
if (this.id.replace('div','') > 22) return this;
}).get();
$(divs).fadeOut("slow");
as Russ Cam suggested to use filter,
var divs = $('.fade').filter(function(){
return (this.id.replace('div','') > 22);
});
$(divs).fadeOut("slow");
这篇关于jquery selector id,class,rel etc其中value大于给定的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文