如何在元素添加到DOM之前(append()之前)获取元素
$('#enclosure_balance'+id).css({background:'red'})
答案 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);