所以我正在更新一個div的內容取決於用戶點擊的內容。有時我會顯示一張圖片,有時我會顯示文字:動態創建的div在jQuery中不可用?
var output;
switch(type)
{
case IMAGE:
pages = null;
contentText = null;
upArrow = null;
downArrow = null;
var imageURL = "assets/images/" + items[itemIndex].imageURL;
output = '<img src="' + imageURL + '" class="fullImage" />';
break;
case TEXT:
pageIndex = 0;
pages = items[itemIndex].copy.page;
numPages = pages.length;
lastPageIndex = numPages - 1;
output = '<div id="contentText" class="text"></div>';
output += '<div id="textUpArrow" class="arrow upArrow"></div>';
output += '<div id="textDownArrow" class="arrow downArrow"></div>';
contentText = $("#contentText");
textUpArrow = $("#textUpArrow");
textUpArrow.bind(MOUSE_DOWN, onUpArrowClicked);
textDownArrow = $("#textDownArrow");
textDownArrow.bind(MOUSE_DOWN, onDownArrowClicked);
setText();
break;
}
content.html(output);
問題似乎是關於範圍。我在我的JS文件的根級聲明瞭contentText,textUpArrow和textDownArrow(我不知道它是否被稱爲root,但它在每個函數之外,所以它可以全局使用)。
當我在控制檯輸出上述變量時,會發生什麼情況,什麼都沒有定義。但是,無論何時我嘗試使用這些變量,事件監聽器或通過jQuery更改其CSS,都不會發生任何事情。
我該看什麼?謝謝!
是的!這就是它!我不認爲他們不會被引用,但由於jQuery針對DOM中的內容,這是有道理的!謝謝! – jansensan 2012-08-08 15:16:41