美文网首页php知识积累
jq如何给动态(异步)生成的元素添加样式

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

作者: hey_沙子 | 来源:发表于2017-03-09 18:42 被阅读66次

    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);

    相关文章

      网友评论

        本文标题:jq如何给动态(异步)生成的元素添加样式

        本文链接:https://www.haomeiwen.com/subject/hqngittx.html