在将标记附加到DOM之前设置标记css属性

时间:2013-02-20 12:28:33

标签: jquery html css

我使用jquery append()方法

放入DOM div标签

我希望推出之前,设置div标签一些css属性,例如visibility: "hidden"

这不起作用:

$(document).ready( function () {

     $(".child").css({
         visibility: "hidden"   
      });

      $("body").append('<div class="child"></div>');


});

http://jsfiddle.net/SBAFk/

如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

您的代码无法正常工作,因为它不会创建新的CSS规则,只会搜索匹配的元素 - 而且还无法找到新元素。最简单的方法是创建元素,设置其CSS属性,然后将其添加到DOM:

var div = $('<div class="child"></div>').css('visibility', 'hidden');
$('body').append(div);

另一个选择是创建一个与选择器匹配的新CSS规则。

答案 1 :(得分:1)

代码中的问题是,jquery正在为child类进行搜索,然后才能在DOM中进行搜索....它无法找到它,因为它没有插入到DOMtree中。附加div

后的.css()代码
$(document).ready( function () { 
  $("body").append('<div class="child"></div>');

  $(".child").css({
     visibility: "hidden"   
  });
});

fiddle here