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( "list1"); window.console.log(ulChildren); 'DOM内部で準備ができており、関数から削除されていれば動作します。 – putvande
助けてくれてありがとう – zm455