php知识积累

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

2017-03-09  本文已影响66人  hey_沙子

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);
上一篇 下一篇

猜你喜欢

热点阅读