2014-02-13 50 views
-1

我需要追加vidyourl3,但我的腳本一直只添加vidyourl3名稱。我在哪裏做錯了?Jquery附加HTML,而不是變量名稱

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); 
+2

你不能創建這樣的變量名稱 –

+0

[「Javascript中的變量」變量的可能重複?](http://stackoverflow.com/questions/5187530/variable-variables-in-javascript) – Daedalus

回答

1

如果你有多個URL,然後創建一個對象來持有這些引用下面

var urls = { 
    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(urls["vidyourl"+kacki]); 
+0

這就是我一直在尋找的東西。謝謝! – user3304007

1

您正在將一個文字字符串放入您的html中。把你的vidyourl報價,它會工作:

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

另一個難以確定你想要做什麼的問題是;你的第一個變量叫做vidyourl3,然後你把你的html替換成vidyourl。它應該是哪一個?

+1

對不起,我再次抱歉,我想OP是試圖做的是創建變量名稱dynamic盟友喜歡''vidyourl「+ kacki'來訪問名爲'vidyourl3'的變量的內容......你沒有這樣做 –

+0

當然,但他沒有通過命名他的FIRST變量vidyourl3來做同樣的事情。他會寫什麼是vidyourl33沒有變數稱爲vidyourl。他可以將'vidyourl'作爲第一個變量,然後對他想要的所有變量進行編號,然後用'kacki'對它們進行編號,無論哪種方式,當您將引號放在變量周圍時,它會變成一個字符串。 – ntgCleaner

+0

@ntgCleaner號注意他遺漏了字符串中的'3' =「'vidyourl」'...... – War10ck

0

嘗試:

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可以害怕。

+2

,如果它在本地範圍內,將無法工作 –

+0

對不起,爲什麼這個工作?我誤解了什麼?所有upvotes?它仍然打印文字。 – ntgCleaner

+1

@ntgCleaner它會工作,如果變量'vidyourl3'在全球範圍內...所有全局範圍變量是窗口對象的屬性 –