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);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,805評論 1 92
  • DOM創建節點及節點屬性 通過JavaScript可以很方便的獲取DOM節點,從而進行一系列的DOM操作。但實際上...
    阿r阿r閱讀 1,043評論 0 9
  • //------------------------- 第一章 認識JQuery ----------------...
    米塔塔閱讀 747評論 0 9
  • 第1章 簡介 第2章 DOM節點的創建 2-1 DOM創建節點及節點屬性 通過JavaScript可以很方便的獲...
    mo默22閱讀 833評論 0 8
  • 曜變是日本對這種來自當時福建建窯瓷器產生窯變叫法,曜變天目中“曜”字又有“耀”的含義,是對這種瓷器表面像美如星座紋...
    洋蔥睡過頭閱讀 541評論 0 0