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

OTA*_*TAR 0 html css jquery

我使用jquery append()方法放入DOM div标签

我想放置之前,例如设置div标签一些css属性visibility: "hidden"

这不起作用:

$(document).ready( function () {

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

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


});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/SBAFk/

如何解决这个问题呢 ?

Thi*_*ter 6

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

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

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

  • 这也可以,但 OP 要求在将其附加到 DOM 之前执行此操作。 (2认同)