代码之家  ›  专栏  ›  技术社区  ›  umar

如何在javascript或jquery中获取javascript容器及其所有对象的css

  •  0
  • umar  · 技术社区  · 17 年前

    例如,假设我需要在一个容器中插入一个div元素,其中包含一个span元素和一个image元素,该容器包含具有相同结构的其他元素:

    <div class="container"><div><span></span><img /></div>...<div><span></span><img /></div> </div>  .  
    

    <div><span></span><img /></div>
    

    应用的样式应与应用的样式相同

    <style>
    

    .container div span{…} .container div img{…}

    但是我不想手动计算样式,然后在jquery中添加这些样式。我该怎么做呢。这个问题的第二部分是:假设根据浏览器应用了条件样式。现在,如何根据浏览器应用条件样式,而不尝试手动执行?

    1 回复  |  直到 17 年前
        1
  •  1
  •   Andrew Moore    17 年前

    addClass() 添加 container 类给父类 <div> 像这样的:

    var new_div = $('<div/>').addClass('container');
    // or (whatever floats your boat)
    var new_div = $(document.createElement('div')).addClass('container');
    

    然后将其样式设置为任何其他样式 div.container

    如果您是通过AJAX获取元素,请确保您发送的HTML已经具有 class

    如果您只是简单地在 <div class="container"> 通过jQuery,它们会根据您发布的标记自动遵循与其他元素相同的样式,而无需添加任何代码。

    // The inserted elements automatically follows the rules
    // in the internal and external stylesheet.
    var container = $('div.container:first').append('<div><span></span><img /></div>');
    

    但是,它不会自动复制内联样式。应该将它们移动到内部或外部样式表中。

    就我个人而言,我发现内联样式通常是代码味道,除非在最后一分钟使用 width 和 height 在不同大小的盒子情况下的用途。