jQuery创建元素名称

3

嘿,有点奇怪的问题,但我正在编写代码,并且想要清理一下... 代码如下:

function (item){
    if(item == "1")
        $('div').show();
    if(item == "2"
        $('div1').show();
}

我尝试了一些类似的方法

function (item)
   var $div = div+item;
   $($div).show()

谢谢


div1是什么?它是一个ID还是一个类?div1本身不会匹配任何元素。 - Phil
2个回答

4
function (item){
    $("#div" + (item > 1 ? (item - 1) : "")).show();
}

假设您的意思是 #div + n,因为 div1 不是有效的选择器。然而,无论实际选择器的前缀是什么,逻辑应该是相同的。
示例:http://jsfiddle.net/XXSTy/ 有关条件运算符的信息,请查看此 MDN 文章

@sausageRolls:没问题,你也一样! - Andrew Whitaker

0

你的代码中有几个错误。

  • 第二个if语句缺少)
  • 你试图查找<div1>元素

没有div1元素。如果你想引用元素ID,必须使用“#”,这样它就变成了$('#idofthediv')

你的代码有点混乱,不清楚你是想搜索ID、元素名称还是混合使用。

如果你想搜索ID为divdiv1的元素,只需将第一个ID重命名为div0,代码就会更清晰(或者更好的是div1div2):

function (item) {
  $("#div" + (item - 1)).show(); 
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接