予準備的模板的div的克隆訪問使用標識符DOM元素,它分配一個動態ID和其追加到DOM,像這樣: -無法成功後克隆並將其附加
var chat_window_clone_obj = $('div#chat_window_template').clone();
cloned_element_id = 'chat_window'+dom_id_separator+session_id;
$(chat_window_clone_obj).attr('id',cloned_element_id);
$(chat_window_clone_obj).appendTo("div#chat_windows_holder");
但是,後那我不能夠訪問使用其ID克隆的元素(在Firefox檢查,我相信這將是在所有瀏覽器一樣): -
$('div#chat_windows_holder').length // comes 0
$('div#chat_windows_holder').removeClass("hidden"); //does not work
不過,我能夠獲得這樣的: -
$(chat_window_clone_obj).length // works
$(chat_window_clone_obj).removeClass("hidden"); //works
我在這裏錯過了什麼?我可以在firefox的HTML選項卡中看到正確添加了所需ID的元素。
你爲什麼要將chat_window_clone_obj包裝到$()中? – rsplak 2011-03-24 12:41:34
你不應該用'$()'封裝'chat_window_clone_obj',因爲它會在你每次都克隆這個對象。這意味着即'$(chat_window_clone_obj).attr('id',cloned_element_id);'應該是'chat_window_clone_obj.attr('id',cloned_element_id);' – thwd 2011-03-24 12:48:37
謝謝@Tom你能給一些解釋還是一些鏈接解釋 – 2011-04-20 14:27:20