【问题标题】:Detecting number range in class/td/div (change css) - jQuery?检测类/td/div中的数字范围(更改css) - jQuery?
【发布时间】:2014-02-11 07:00:24
【问题描述】:

1# 我想使用具有数字范围的选择器功能更改 TD、Class 和 div 的 CSS。具体来说,我想更改种子数为 250-25000 的种子结果的 css,任何更少或不同的种子都将具有单独的 css 属性。如果您能提供帮助,我当然会感激不尽。

参考文献(均无效):

1. http://jsfiddle.net/fVtaF/4/
2. http://jsfiddle.net/fVtaF/3/

我在标题中检测关键字的代码(均无效):

 1. $( '.blah td:contains("250-25000") ') .css( {"display":"none"} );
 2. $(".blah td:contains(255-25000)").css({'color':'red'});

我希望这个数字是 CSS Red (250-25000):

<table id="searchResult">
<td align="right">1024</td>
</table>

2#另外,对于我的代码,我如何修改它以检测没有大写或不需要的关键字,即使单词有大写?

$( '.feed-item-container:contains("Justin Bieber") ') .css( {"display":"none"} );

【问题讨论】:

  • 您是在生成种子列表还是在解析现有列表?
  • 我只是使用jquery作为扩展覆盖

标签: javascript jquery css selector


【解决方案1】:

您可以在 jquery 中编写自己的 contains() 函数来使选择器文本不区分大小写。

jQuery.expr[':'].contains = function(a, i, m) {
   return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};

http://jsfiddle.net/joey6978/678s8/

根据您问题的第一部分选择数据在 250 到 25000 之间的所有元素,您可以使用 jquery 过滤器功能:

var tds=$("td").filter(function() {
    if($(this).text()>250&&$(this).text()<25000){
        return this;
    }
});
tds.css({'color':'red'});

http://jsfiddle.net/joey6978/fVtaF/6/

【讨论】:

  • 我如何把它变成我可以“.blah TD...”或“#blah TD...”的地方?
  • 你可以把它放在过滤器函数选择器中:而不是 $("td").filter(function() {.... 它将是 $("td.blah").filter (函数() {
  • 非常感谢,您的帮助比我所能形容的意义重大
  • 这是一个不同的名字
  • 遇到其他类似问题:stackoverflow.com/questions/21691063
猜你喜欢
  • 2012-12-19
  • 1970-01-01
  • 2012-03-24
  • 1970-01-01
  • 2017-02-11
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
相关资源
最近更新 更多