2013-12-09 52 views
0

我有這個作爲我的代碼,但我無法得到它的輸出。應該輸出到無法獲得.append輸出到「body」

var guestList = [{ 
    name: "Alex", 
    address: "283 Happy Lane" 
}, { 
    name: "Avery", 
    address: "32 Skippy Skip" 
}, { 
    name: "Pat", 
    address: "666 Heaven St." 
}, { 
    name: "Bobbie", 
    address: "83 Quality St." 
}, { 
    name: "Parker", 
    address: "92 Batty Bat" 
}]; 
$(document).ready(function() { 
    for (pointer = 0; pointer < guestList.length; pointer++) { 
     labelHtml = 
      "<div class='label'>" + "<p>" + guestList[pointer].name + "</p>" + "<p>" + guestList[pointer].address + "</p>" + "</div>"; 
     $("body").append(labelHtml); 
    } 
}); 
+0

這是與jquery移動標記。在這種情況下不要使用'$(document).ready()'。應該使用pageinit或pageshow來代替。 – tronc

回答

0

此代碼的工作對我來說這使我問你們兩個傻問題:

  • 你擁有包括jQuery的網頁上?
  • 您是否有樣式表規則阻止列表 項目或列表被顯示?

對不起,但它只能是這兩件事中的一件。

0

一些修改:

  • 它總是使用安全。就緒()函數沒有定義
  • pointer變量的腳本的開頭。
  • 您不會追加它,而是將其分配給變量labelHtml

更新腳本:

$(document).ready(function() { 
    var guestList = [ 
    { 
     name: "Alex", 
     address: "283 Happy Lane" 
    }, { 
     name: "Avery", 
     address: "32 Skippy Skip" 
    }, { 
     name: "Pat", 
     address: "666 Heaven St." 
    }, { 
     name: "Bobbie", 
     address: "83 Quality St." 
    }, { 
     name: "Parker", 
     address: "92 Batty Bat" 
    }]; 

    for (var pointer = 0; pointer < guestList.length; pointer++) { 
     labelHtml += 
      "<div class='label'>" + "<p>" + guestList[pointer].name + "</p>" + "<p>" + guestList[pointer].address + "</p>" + "</div>"; 
     $("body").append(labelHtml); 
    } 
}); 
0

此代碼實際工作!看到這裏:http://jsfiddle.net/c7W7C/

你包括正確的jQuery?嘗試:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
+0

我在那裏。我改變了 $(「body」)。append(labelHtml); 到 $(「#body」)。append(labelHtml); 然後有

輸出,並突然它工作... – user3081272

+0

如果你有jquery包含正確唯一的其他可能性爲什麼它不會與'$(「body」)'工作(放置它在''標籤內)會是一些css規則,這會阻止顯示元素。如果您想繼續調查,可以使用檢查器(cmd + alt + i in chrome)檢查元素是否附加到,並檢查應用了哪些css樣式。 – greenish

0

如果您正在使用jQuery移動你不應該使用$(document).ready(),因爲JQM加載與AJAX頁面,它不是保證$(document).ready()在這種情況下正常工作。請參閱JQM documentation

嘗試.on('pageinit'...)也許.on('pageshow'...)代替(無論適合您的需要):

$(document).on('pageinit', function() { 
    var guestList = [ 
    { 
     name: "Alex", 
     address: "283 Happy Lane" 
    }]; 

    for (var pointer = 0; pointer < guestList.length; pointer++) { 
     labelHtml += 
      "<div class='label'>" + "<p>" + guestList[pointer].name + "</p>" + "<p>" + guestList[pointer].address + "</p>" + "</div>"; 
     $("body").append(labelHtml); 
    } 
}); 

也許你將它添加到DOM後,以增強內容。