jq如何给动态(异步)生成的元素添加样式

ajax是异步的,动态添加的那个方法和ajax在同一级,ajax还没接到返回结果,就已经执行了那个方法了,所以肯定追加不进去,那么我们可以在append追加元素已完成的后边给你想要的元素添加样式

//给id="name"的div添加class="newshopA" 或者newshopA    
$(function(){
$.ajax({
    type: 'GET',
    url: item + "index.php?r=wxproduct/assortment",
    data: {"bcId": bcId, "storeId": storeId},
    dataType: "json",
    success: function (data) {
        var parent_div = $('#hostList').empty();
        var str = '<div id="name">';
        str+=<p>+data.name+'</p></div>';
        parent_div.append(str);
        if(data.id>0){
            $('#name').addClass('newshopA');
        }else{
            $('#name').addClass('newshopB');
        }
    }
})
})

这样动态循环的多个li这种数据可能出现只给第一个li里的元素添加了样式
所以可以添加两个带不同class名的div

var parent_div = $('#hostList').empty();
var str = '<div id="name">';
str+=<p>+data.name+'</p>';
if(data.id>0){
    </div class="newshopA">
    $('#name').addClass('newshopA');
}else{
     </div class="newshopB">
     $('#name').addClass('newshopB');
}
parent_div.append(str);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...
    阿r阿r阅读 4,626评论 0 9
  • //------------------------- 第一章 认识JQuery ----------------...
    米塔塔阅读 4,068评论 0 9
  • 第1章 简介 第2章 DOM节点的创建 2-1 DOM创建节点及节点属性 通过JavaScript可以很方便的获...
    mo默22阅读 4,308评论 0 8
  • 曜变是日本对这种来自当时福建建窑瓷器产生窑变叫法,曜变天目中“曜”字又有“耀”的含义,是对这种瓷器表面像美如星座纹...
    洋葱睡过头阅读 3,499评论 0 0

友情链接更多精彩内容