我有一个动态添加的div,我想追加它来响应click事件。 初始div在添加时创建并呈现,但是尝试将子div添加到第一个动态div不会呈现 - 但在控制台日志中,动态div显示已添加新div。
var newDiv = $('<div id="#newDiv'+pID+'" />').css({
display:"inline-block",
width:"90%",
height:"100px",
position:"relative"
})
var newHTML = "<div>some content</div>"
$(newDiv).html(newHTML)
$('#dynDiv'+ID).append($(newDiv))
console.log($('#dynDiv'+pID)) // displays code created successfully
所以当&#34;检查&#34;时,newDiv不会呈现也不会出现。使用调试器的DOM。
为什么第二次尝试添加动态内容失败?
答案 0 :(得分:1)
我发现问题的根源是我添加动态div的父div不是唯一的 - 有多个具有相同名称的元素!这是有道理的,它会失败。感谢大家的投入。
答案 1 :(得分:0)
你还记得把它附加到什么东西上吗?请记住,jQuery可以在内存中存在不属于页面的DOM元素:
newDiv.appendTo($(parentElement));
例如。 http://jsfiddle.net/dTe73/
其他一些可能的错误:
#
不是在$('<div id="#newDiv'+pID+'" />')
$('#dynDiv'+ID)
看起来像$('#dynDiv'+pID)
(或其他方式)的拼写错误$
:$(newDiv)
绝对等同于newDiv
答案 2 :(得分:-1)
将$(newDiv).html(newHTML)
替换为newDiv.html(newHTML)
和$('#dynDiv'+ID).append($(newDiv))
与$('#dynDiv'+ID).append(newDiv)
它应该有用。