我有一个名为id =“tag1”,id =“tag2”等的span元素,我只想.show()
其id超过eg的最后一个数字的跨度。 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;
}
答案 0 :(得分:2)
您需要替换选择器中“field”的值:
$("#" + field).show();
JavaScript没有任何内置机制可以将动态值插入到字符串中,尽管其他语言也是如此。
答案 1 :(得分:0)
尝试
var iMax = 19;
var i = 3;
var field;
while(i < iMax){
field = "tag" + i++;
$("#" + field).show();
}
答案 2 :(得分:0)
虽然你已经接受了一个答案,但我会注意到你似乎比这更复杂,所以我建议采用以下方法:
var iMax = 19;
$('span[id^="field"]').hide().filter(function(i){
return i < iMax;
}).show();
参考文献: