Jquery 使用变量到 .show() div

Jquery use variable to .show() div

提问人:greyoxide 提问时间:2/9/2013 最后编辑:Mario Sgreyoxide 更新时间:2/9/2013 访问量:4720

问:

我尝试使用 .show() 在幻灯片放映中显示 div 元素,例如幻灯片。

我想做的是使用导航栏上按钮的 ID 属性使该幻灯片“滑入”,就像幻灯片放映一样。因此,按钮 1 的 ID 为“1”。然后,我使用Jquery将“#slide”附加到该ID并得到“#slide1”。它对应于我希望展示的特定幻灯片。到目前为止,我无法让“滑动”div 与 $variable.show() 一起出现。

我做错了吗?

这就是我目前所拥有的。

http://jsfiddle.net/greyoxide/RN2jC/

$(".button").click(function () {
    $(".slide").hide();
    var content = $(this).attr('id');
    var fix = "'" + '#slide' + content + "'";
    $("#show").val(fix);
    $(fix).show();
});
jquery html的

评论


答:

1赞 zxqx 2/9/2013 #1

您不需要在幻灯片 ID 两边加上引号。

$(".button").click(function () {
  $(".slide").hide();
  var content = $(this).attr('id');
  var fix = '#slide' + content;
  $("#show").val(fix);
  $(fix).show();
});

请参阅 DEMO。

0赞 Malk 2/9/2013 #2

删除字符串中的撇号:fix

var fix = "'" + '#slide' + content + "'";

应该是:

var fix ='#slide' + content;

0赞 Wouter J 2/9/2013 #3

为什么要在前后加引号?这是错误的,否则它会起作用:http://jsfiddle.net/RN2jC/6/fix

2赞 Mario S 2/9/2013 #4

去掉单引号,所以改:'

var fix = "'" + '#slide' + content + "'"; // This translates to "'#slide1'"

自:

var fix = '#slide' + content; // This translates to "#slide1"

最终结果:

$(".button").click(function () {
    $(".slide").hide();
    var content = $(this).attr('id');
    var fix = '#slide' + content;
    $("#show").val("'" + fix + "'"); // If you still want to display single quotes
    $(fix).show();
});

http://jsfiddle.net/RN2jC/9/

评论

0赞 greyoxide 2/9/2013
感谢您的帮助和示例。我想我需要引号才能以可变形式调用它。
0赞 showdev 2/9/2013 #5
$(".button").click(function () {
    $(".slide").hide();
    $("#slide"+$(this).attr('id')).show();
});

j小提琴

评论

0赞 greyoxide 2/9/2013
这比我最初的想法要优雅得多。谢谢。