我知道这已经被问到了,但从未真正详细阐述过。我想在我的页面中的DOM中插入一个元素,但只有在使用DOM构建它之后。我知道这是可能的,但似乎这个功能只是部分有效。例如......
// this doesnt work
var theDiv = '<div></div>';
$(theDiv).append('<p>test</p>');
alert($(theDiv).html());
// this works
var theDiv = '<div></div>';
alert($(theDiv).html());
我希望有人能对这个问题有所了解。
答案 0 :(得分:4)
这不能按预期工作的原因是因为您每次都在创建一个新的jQuery对象。
var theDiv = '<div></div>';
$(theDiv).append('<p>test</p>'); //Create a new jquery object and append a p
alert($(theDiv).html()); //create a new jquery object of just a div and output the html
如果你想解决这个问题,你只需要创建一个新变量来保存你的jQuery对象。
var theDiv = '<div></div>';
var $d = $(theDiv).append('<p>test</p>'); //create a new jQuery object and than append
//a p and store it in a variable
alert($d.html()); //output the contents of the variable's html
jsfiddle上的代码示例。
答案 1 :(得分:1)
试试这个:
var theDiv = $('<div/>');
theDiv.append('<p>test</p>');
alert(theDiv.html());