Javascript Jquery附加html,而不是变量名

Javascript Jquery附加html,而不是变量名,javascript,jquery,Javascript,Jquery,我需要附加vidyourl3,但我的脚本一直只添加vidyourl3名称。我哪里做错了 var vidyourl3 = '<iframe id="vide3" width="255" height="195" src="http://www.youtube.com/embed/Nficz8WZwrk?wmode=opaque" frameborder="0" allowfullscreen></iframe>'; kacki = 3; $("#vidgelcekb

我需要附加vidyourl3,但我的脚本一直只添加vidyourl3名称。我哪里做错了

var vidyourl3 = '<iframe id="vide3" width="255" height="195" 
src="http://www.youtube.com/embed/Nficz8WZwrk?wmode=opaque" frameborder="0" 
allowfullscreen></iframe>';

kacki = 3;

$("#vidgelcekburaya").html("vidyourl"+kacki);

您正在html中放入一个文本字符串。从你的视频中去掉引号,它就会起作用:

$("#vidgelcekburaya").html(vidyourl3 + kacki);
另一个很难决定你要做什么的问题是;第一个变量称为vidyourl3,然后将vidyourl放入html替换中。应该是哪一个?

试试:

window.vidyourl3 = '<iframe id="vide3" width="255" height="195" 
src="http://www.youtube.com/embed/Nficz8WZwrk?wmode=opaque" frameborder="0" 
allowfullscreen></iframe>';

kacki = 3;

$("#vidgelcekburaya").html(window["vidyourl"+kacki]);
如果您的变量需要在本地范围内,请尝试

var vidyourl3 = '<iframe id="vide3" width="255" height="195" 
src="http://www.youtube.com/embed/Nficz8WZwrk?wmode=opaque" frameborder="0" 
allowfullscreen></iframe>';

kacki = 3;

$("#vidgelcekburaya").html(eval("vidyourl"+kacki));

我不会使用这种方法,因为eval可能有点可怕。

如果您有多个URL,请创建一个对象来保存这些引用,如下所示

var urls = {
    vidyourl3: '<iframe id="vide3" width="255" height="195" 
src="http://www.youtube.com/embed/Nficz8WZwrk?wmode=opaque" frameborder="0" 
allowfullscreen></iframe>'
}

你不能创建这样的变量名,如果对象是全局范围,如果它在局部范围内,那么它就不工作了,为什么这样做?我是不是误解了什么?所有的选票?它仍然打印一个文本。@ntgCleaner如果变量vidyourl3在全局范围内,它将工作。。。所有全局作用域变量都是窗口的属性object@ArunPJohny经过编辑,抱歉,我通过使其全局化来理解,但当你在变量周围加引号时,它不再是变量;这是一根绳子。不是这样吗?再次抱歉,我认为OP试图做的是像vidyourl+kacki那样动态创建变量名,以访问名为vidyourl3的变量的内容。。。你没有做同样的事情,但是他没有做同样的事情,他把他的第一个变量命名为vidyourl3。他要写的是vidyourl33没有一个变量叫做vidyourl。他可以将vidyourl作为第一个变量,然后对所有他想要的变量进行编号,然后使用kacki对它们进行编号,无论哪种方式,当在变量周围加引号时,它都会变成一个字符串。@ntgCleaner否。注意,他在文本字符串=>vidyourl…中省略了3,这不是故意的,这正是我想要的。谢谢
kacki = 3;
$("#vidgelcekburaya").html(urls["vidyourl"+kacki]);