Jquery隐藏包含特定数字的跨度

时间:2013-07-18 12:30:36

标签: javascript jquery function hide html

我正在尝试在我的网站上执行临时快速黑客攻击,因为我需要隐藏页面上的几个跨度,并且不希望必须通过所有php来永久删除它们。所以只想用jquery隐藏它们。

我想使用hide()联结来隐藏包含1到9之间任意数字的跨距。

所以在页面上我有>>

 <span>good</span>
 <span>2</span>
   <span>3</span>
      <span>4</span>
         <span>5</span>
             <span>ok</span>

等......结尾以<span>bad</span>

结尾

我有大约30个这样的列表,所以想做类似的事情:

if span contains a number from 1-9, hide it.

之前我曾使用hide()函数来隐藏onclick等内容,但我不知道如果内容等于数字,如何隐藏,是否有人能指出正确的方向?< / p>

3 个答案:

答案 0 :(得分:1)

试试这个:http://jsfiddle.net/ehmjm/

$("span").filter( function() {
    var num = Number($(this).text());
    return num >= 1 && num <= 9;
}).hide();

或通过正则表达式:http://jsfiddle.net/ehmjm/2/

$("span").filter( function() {
    return $(this).text().match(/^[1-9]$/);
}).hide();

注意:我假设从你的样本dom中你想要隐藏只有一个数字的跨度,如果你想隐藏“我有5只狗”这样的东西,你需要做一些事情有点不同。

答案 1 :(得分:0)

$('span').each(function(){
  if($(this).text().match(/^([1-9])$/))$(this).hide()
});

FIDDLE

答案 2 :(得分:0)

好吧我猜我迟到了。不过这是我的理由:

jsfiddle

$('span').each(function(index, value) {
  if($(this).html() > 0 && $(this).html() < 10 )
  {
      $(this).hide();
  }
});