2011-09-15 80 views
1

所以我有一個問題。這可能很簡單,但我已經嘗試了很多東西,似乎無法讓它起作用。如果你可以用正確的語法快速重寫這個,那太棒了。快速問題。我需要添加一個變量到我的JavaScript對象

我需要我的JavaScript對象包含一個變量,這是一個計數器,增加。


這裏是我的代碼工作。

$(div_1).droppable("option", "disabled", false); 


這裏是我需要努力。

var counter = 1; 

$('div_' + counter).droppable("option", "disabled", false); 

counter++; 



希望我解釋這個不夠好...

太感謝你了!

回答

1

有趣,這是我會怎麼做:

var counter=1; 
$(window['div_' + counter]).droppable("option", "disabled", false); 
counter++; 

這是假定div_1是一個變量,你的問題被寫入。通過從window陣列中獲取元素,我避免了討厭的討厭的eval

+1

這完全違背了jQuery選擇器的用途。 – Darthg8r

+0

@ Darthg8r請注意問題的寫法。 'div_1'不是一個字符串選擇器,它是一個保存選擇器的變量/是對dom元素的引用。 OP需要通過選擇器/元素增加的方式。 – Shad

+0

工作!非常感謝Shad!是的,唯一的變數是櫃檯。 div_1是一個jQuery droppable選擇器。我有一大堆droppables,代碼需要增加,並在拖動器被拖放時啓用。非常感謝。我發誓我曾經這樣寫過,但卻無法讓它工作! – Irocmon

0

如果div_x是元素ID的名稱,然後:

var counter = 1; 

$("#div_" + counter).droppable("option", "disabled", false); 

counter++; 

的匹配#元素的ID的 「」匹配元素類。只需「div」就可以匹配頁面上的所有div。

0

您的代碼應該可以工作。如果您在字符串前添加一個#和你的目標$('#div_1) Basiclly(與id="div_1"一個div),您可以將類型變量添加到字符串,結果是字符串

var n = 1; // n is Number type 
var hey = "hey "; // hey is an String type 

console.log(hey + n); // returns "hey 1" 
console.log(n + hey); // returns "1hey " 

什麼我猜是你宣佈div_1之前像div_1 = $('#div1');。所以,如果你通過"div_1"你的jQuery選擇你會失敗

+0

編輯。好點子!謝謝 – Mohsen

+0

感謝您的回答!另外我欣賞JavaScript課程。知道這是一件好事!謝謝! – Irocmon

相關問題