提问人:greyoxide 提问时间:2/9/2013 最后编辑:Mario Sgreyoxide 更新时间:2/9/2013 访问量:4720
Jquery 使用变量到 .show() div
Jquery use variable to .show() div
问:
我尝试使用 .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();
});
答:
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();
});
评论
0赞
greyoxide
2/9/2013
感谢您的帮助和示例。我想我需要引号才能以可变形式调用它。
0赞
showdev
2/9/2013
#5
$(".button").click(function () {
$(".slide").hide();
$("#slide"+$(this).attr('id')).show();
});
评论
0赞
greyoxide
2/9/2013
这比我最初的想法要优雅得多。谢谢。
评论