我輸出幾個textareas頁面。 textareas有一類「Expandable」。我曾經在HTML代碼中的每一個Expandable textareas之後輸出一個div。jQuery - 如何動態地將元素添加到DOM?
硬編碼:
<textarea id="NewContent" class="Expandable"></textarea>
<div class="Count"></div>
我想改變這種狀況,使jQuery的經歷和發現的每一個可擴展的textarea和後插入我的伯爵DIV權。要做到這一點,我使用此代碼:
$(".Expandable").each(function() {
$(this).after("<div class='Count'></div>");
});
這給了我我需要的東西。但是...因爲它在創建後添加到頁面中,所以div不會被添加到DOM中。我需要這樣的事情發生。
我知道我需要使用「活」,我成功地在其他地方使用它,但我似乎無法得到這個工作。
$(".Count").live();
計數div將用於顯示上面的textarea的字符數。不會發生用戶交互,如鍵入或模糊。我沒有包含這個代碼,因爲它完美的工作。
EDITED
$(".Expandable").change(function() {
$(this).parent().next(".Count").html("Sunday");
});
當你鍵入的文本區域,在下一個計數DIV應顯示 「星期天」。這與硬編碼的Count div完美配合,但不適用於動態生成的Count div。
我已對此作了小提琴:http://jsfiddle.net/EvikJames/qyuQS/2/
'它插入後的新元素。 ..在DOM中。你能詳細說明在這裏發生了什麼*不發生,我對一些不起作用的事情感到困惑。 –
Evik,你的問題仍然沒有道理,因爲你已經*添加了計數格到DOM,如你發佈的鏈接所證明的。 – lonesomeday
當你輸入textarea時,硬編碼的div顯示「Sunday」。當你輸入下面的textarea時,動態創建div什麼都不顯示。這告訴我,它不會被添加到DOM(我可能是錯的)。無論哪種方式,它都不起作用。 –