我想用jquery創建一個基本的通用函數,將html列表的所有元素放入數組中。一切似乎都沒問題,但我遇到了一些問題以獲得回報價值。我知道這是一個基本問題,所以我希望你能幫我解決它。jquery:獲取函數的返回值
<script>
function listeToArrayById(idListe){
$(function(){
var listChildren = $("#" + idListe).children(); //puts all li children in var listChildren
var arrayListChildren = [];
$.each(listChildren, function(key, value){
arrayListChildren.push($(this).text());
})
return arrayListChildren; // here it's ok arrayListChildren = ["a", "b", "c"]
})
}
var ulChildren = listeToArrayById("list1");
window.console.log(ulChildren); // here is my problem because ulChildren is undefined ... I should get an array ["a", "b", "c"]
</script>
</head>
<body>
<ul id="list1">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</body>
爲什麼'$(函數(){'在你的函數裏面?當你調用你的函數時,它不會執行它,因爲你在你的函數中放入了$(function(){',所以它等待DOM加載,把'var ulChildren = listeToArrayB YID( 「列表1」); window.console.log(ulChildren);'DOM內準備好並從你的函數中刪除,它會工作。 – putvande
謝謝你的幫助 – zm455