繁体   English   中英

如何将CSS应用于动态HTML内容?

[英]how to apply css to dynamic HTML content?

我是CSS和学习的新手。

我的问题是

如果我的HTML内容加载全部延迟,可能是由于ajax请求引起的;并且如果我将该html响应附加到已经加载的div标签上;

我如何将CSS应用于内部HTML。

假设我有div标签,

<div class="row">
    <div class="col-md-5 col-md-offset-2">
        <div id="theTableContainer"></div>
    </div>
</div>

如果我要在具有ID“ theTableContainer”的div中加载html,

将html附加到div后,我将在xhr成功的回调函数中应用css

如下

$("#theTableContainer table tr:gt(0)").each(function(){
        $(this).find("td:eq(2)").
            css("background-color","#8600e6").
            css("color","#F8F8FF").
            css("font-weight","bold");
});

有没有更好的办法 ?

请在下面找到工作代码的链接。

我的工作示例

更好的方法是添加要添加的CSS类,然后使用addClass动态添加CSS。

 $("#theTableContainer table tr").each(function(){ $(this).find("td").addClass('background color font-weight'); }); 
 .background { background-color: red; } .color { color: white; } .font-weight { font-weight: 'bold'; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row"> <div class="col-md-5 col-md-offset-2"> <div id="theTableContainer"> <table> <tr> <td> example </td> </tr> </table> </div> </div> </div> 

您可以始终在CSS中添加样式:

#theTableContainer table tbody tr td:nth-child(3){
  background-color: #8600e6;
  color: #F8F8FF;
  font-weight: bold;
}

更新的小提琴

另一种方法是基于对css进行分组

$(this).find("td:eq(2)").css({"background-color": "#8600e6", 
                              "color":"#F8F8FF",
                              "font-weight":"bold"});

您可以使用所需的所有CSS属性创建一个类:

.active {
    background-color: #8600e6;
    color: #F8F8FF;
    font-weight: bold;
}

并应用:

$(this).find("td:eq(2)").addClass('active');

这是jfiddle。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM