所以我想说我有一个变量slide1。
var slide1 = $('#slide1');
如何将一个字符串(例如'slide)与一个整数连接起来使其等于并且表现得像上面的变量一样,slide1?
showThis('slide' + 1);
Here is my fiddle,因此您可以看到我的问题/混乱的缩短版本。正如您所看到的,连接的结果并没有像我期望的那样隐藏。
我是否试图做一些完全禁忌的事情?
提前致谢!
答案 0 :(得分:3)
var slide1 = $('#slide1');
var button = $('#button');
button.click(function() {
showThis('slide' + 1);
});
function showThis(thisSlide) {
alert(thisSlide);
$("#" + thisSlide).hide();
}
答案 1 :(得分:1)
如果你真的想这样做,你需要索引到全局窗口对象。
var slide1 = $('#slide1');
var button = $('#button');
button.click(function() {
showThis(window['slide' + 1]);
});
function showThis(thisSlide) {
alert(thisSlide);
$(thisSlide).hide();
}
然而我会像其他海报一样回应
答案 2 :(得分:0)
您的showThis()
函数需要一个Jquery对象,而您提供的是一个字符串。所以你的代码应该是这个
showThis($('#slide' + 1));
答案 3 :(得分:0)
您可以使用字符串访问对象的属性,但不能访问真正的变量。 就像,你有一个对象
StartPreviewToCustomSinkIdAsync
您可以使用类似这样的字符串访问slide1
var slide = {
slide1: $('#slide1'),
var button = $('#button'),
}
您尝试的方式不是访问变量的有效方法。
答案 4 :(得分:-1)
你有什么理由不能使用数组吗?例如:
var slides = [];
slides[0] = $('#slide0');
slides[1] = $('#slide1');
//etc
showThis(slides[1]);
甚至:
var slides = [];
for(var i = 0; i< 10; i++){
slides[i] = $('#slide' + i);
}
showThis(slides[1]);