如何在添加到DOM之前获取元素?

时间:2011-10-01 19:02:33

标签: jquery

如何在元素添加到DOM之前(append()之前)获取元素

$('#enclosure_balance'+id).css({background:'red'})

3 个答案:

答案 0 :(得分:3)

据我所知,如果您控制或有权构建它,唯一的方法是参考。

var s = $('<div id="stupid"/>')

引用包含它的变量/ property。由于尚未附加,因此无法通过DOM方法访问它。

如果您希望隐藏元素,只需将其附加到具有偏移css值的容器元素(例如,position absolute,top -999em,left -999em)

编辑:还有文档片段:http://ejohn.org/blog/dom-documentfragments/#postcomment但由于它们不在文档中,因此您无法使用document.getElementById等来引用内部元素。

答案 1 :(得分:1)

我认为该元素位于jQuery对象中。

要么

obj.filter( selector )

obj.find( selector )

其中obj是包含元素的jQuery对象,而selector是应该与您的元素匹配的选择器。

filter如果您的元素是jQuery对象的元素之一,则有效。 {j}对象包含一个或多个元素时,find有效,而这些元素又有祖先,而您的元素属于这些祖先。

答案 2 :(得分:0)

问题的答案就在于此。你已经有了对元素的引用,否则你就无法调用append。如果你有这个:

$("#parent").append("<div />");

将其修改为:

var child = $("<div />");
child.css({ background: "red" });
$("#parent").append(child);