我正在使用此代码动态生成div:
// my html string :)
var myString = '<id="newDiv"div> hello </div>';
// html decode the string
myString = $("<div />").html(myString).text();
// appending the string
$("#parentDiv").append(myString);
它附加正常(它显示在屏幕上)。并且还做$('#newDiv')。长度正确显示值1.然后当我尝试调用remove()对它(或任何函数)如
$('#newDiv').remove()
没有任何反应。发生了什么事?
答案 0 :(得分:3)
<id="newDiv"div> hello </div>
实际上是<id="newDiv"div> hello </div>
,这对我的理解来说不是正常的HTML。
//here is what I think you wanted:
$('<div id="newDiv">hello</div>').appendTo("#parentDiv");
alert($("#newDiv").length);
$("#newDiv").remove();
编辑 - 解码html文本,然后附加它:
var emptyDivNeverAppendedToDom = $('<div/>');
//per the other so.com question
var html = emptyDivNeverAppendedToDom.html('<div id="newDiv"> world </div>').text();
//just being verbose.
var elem = $(html);
//the actual work
elem.appendTo("#parentDiv");
//elem.remove();
a js fiddle取消注释elem.remove()lin以观察它是否正常工作。
答案 1 :(得分:0)
只要您将ID放在正确的位置,效果就会很好:
var myString = '<div id="newDiv"> hello </div>';