是否可以将某些内容添加到已经附加的div中?我试过但没有任何反应..(我没有在实际的js中使用换行符)
$(document).ready(function() {
$('.add_text_input').click(function() {
$('li').append('<div class="input_label">Untitled</div>\
<div class="edit_label"></div>\
<input type="text" name="untitled" /><br />');
});
$('.input_label').click(function() {
var input_label = $(this).html();
$(this).hide();
$('.edit_label').append('<input type="text" name="untitled" value="' + input_label + '"/><br />');
});
});
js用于创建文本输入和编辑标签。当单击“input_label”div时,它应隐藏使用hide()并在“edit_label”div中附加带有默认“无标题”值的文本输入。如果div已经存在但是我需要通过追加来使它工作。
有人有任何想法吗?
答案 0 :(得分:1)
您只需在此处使用.live()
处理程序,如下所示:
$('.input_label').live('click', function() {
var input_label = $(this).html();
$(this).hide().next('.edit_label')
.append('<input type="text" name="untitled" value="' + input_label + '"/><br />');
});
这将对元素起作用,无论它们何时被创建,因为它可以处理事件冒泡,它可以处理与click
选择器匹配的任何元素的.input_label
事件。
目前使用.click()
,它会找到document.ready
时存在的所有元素,并将绑定到这些元素,而不是选择器,因此它不会动态生效添加元素。