显示id中最后一个数字小于i的元素

display elements if the last number in their id is smaller than i

本文关键字:元素 小于 数字 id 最后一个 显示      更新时间:2023-09-26

我有命名为id="tag1", id="tag2"等的span元素,我只想.show()其id中最后一个数字小于eg的span。19。
这些元素属于class="notVis",当页面第一次加载时,它是$(".notVis").hide();

我在这方面完全是新手,自学,这就是为什么下面的代码会产生很多笑声,我敢肯定。谢谢你的帮助!

var iMax = 19;
var i = 3;
var field = "tag" + i;
while(i < iMax){
   $("#field").show(); i = i + 1; field = "tag" + i;
}

您需要在选择器中替换"field"的值:

$("#" + field).show();

JavaScript没有任何内置机制来将动态值插入字符串中,尽管其他一些语言有。

Try

var iMax = 19;
var i = 3;
var field;
while(i < iMax){
   field = "tag" + i++;
   $("#" + field).show(); 
}

虽然您已经接受了一个答案,但我要注意到,您似乎把这个问题弄得比实际需要的复杂得多,因此我建议采用以下方法:

var iMax = 19;
$('span[id^="field"]').hide().filter(function(i){
    return i < iMax;
}).show();

JS Fiddle demo.

引用:

  • filter() .
  • hide() .
  • show() .