我输出几个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(我可能是错的)。无论哪种方式,它都不起作用。 –