首页 > 为什么 Bootstrap 动态生成的元素没有 CSS 样式

为什么 Bootstrap 动态生成的元素没有 CSS 样式

使用Bootstrap-switch,根据数据库中查询结果动态生成网页元素,其中用jQuery生成switch式按钮插入到页面,在js代码最后执行$(".switch").bootstrapSwitch(),但是只有页面原有的switch类会应用bootstrap-switch样式,新生成的就一光凸凸的checkbox而没有switch式按钮,何解?


半天没人回答,在我准备向stackoverflow提问之前又仔细检查一遍(上次在SO上问了个silly的问题被扣了好几个reputation,心疼不矣),写了个简化的版本,发现是由于我根据ajax得到数据生成switch button,而ajax是异步的,在取回数据之前,$(".switch").bootstrapSwitch();已经执行过了,所以生成的button不会有switch样式,解决方法如下

$.getJSON(url, function(data){
    //generate switch button using data
    $(".switch").bootstrapSwitch();
});
【热门文章】
【热门文章】