Jquery使用变量到.show()div

时间:2013-02-08 23:35:11

标签: jquery html

我试图使用.show()在幻灯片放映中显示幻灯片等div元素。

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

我是不是错了?

这是我到目前为止所做的。

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

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

5 个答案:

答案 0 :(得分:1)

删除单引号',改变:

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/

答案 1 :(得分:0)

您不需要幻灯片ID周围的引号。

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

请参阅DEMO

答案 2 :(得分:0)

删除fix字符串中的撇号:

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

应该是:

var fix ='#slide' + content;

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

jFiddle