jquery selector id,class,rel etc其中value大于给定的数字 [英] jquery selector id,class,rel etc where value greater than a given number

查看:63
本文介绍了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 建议使用过滤器,

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆