1

我有名为 id="tag1"、id="tag2" 等的跨度元素,我只想要.show()其 id 中最后一个数字小于例如的跨度。19.
这些元素属于a 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;
}
4

3 回答 3

2

您需要替换选择器中“字段”的值:

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

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

于 2013-04-28T14:26:53.037 回答
0

尝试

var iMax = 19;
var i = 3;
var field;
while(i < iMax){
   field = "tag" + i++;
   $("#" + field).show(); 
}
于 2013-04-28T14:29:15.497 回答
0

虽然您已经接受了答案,但我会注意到您似乎使这比需要的复杂得多,所以我建议您采用以下方法:

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

JS 小提琴演示

参考:

于 2013-04-28T14:55:52.507 回答