是否可以在使用jquery将元素插入DOM之前对其进行操作?

时间:2011-03-14 09:50:26

标签: javascript jquery dom

我知道这已经被问到了,但从未真正详细阐述过。我想在我的页面中的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());

我希望有人能对这个问题有所了解。

2 个答案:

答案 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());