2017-11-07 10 views
0

誰も "子供"を配列に入れる方法を教えてもらえますか?関数スコープの外にある配列にさまざまなものを入れる方法

ありがとうございました!

var deck = document.getElementsByClassName("deck")[0]; 
var moves = document.getElementsByClassName("moves")[0]; 
var count = 0; 
var openedCard = []; 

function handel(ev) { 
    var target = ev.target; 
    if (target.nodeName.toLowerCase() === "li") { 
    target.setAttribute("class", "card open show"); 
    count += 1; 
    moves.innerHTML = count; 
    } 
    var children = target.children; 
    openedCard.push(children); 
} 

deck.addEventListener("click", handel, false) 
+0

は 'children'自体の配列ですか? – Jamiec

+0

@Jamiec、子供たちはいろいろな--var children = target.children; – Sylvia

+0

質問自体は分かりません。 1.すべての子要素のタグ名または配列にコンテンツのみを追加しますか? 2.すべての直接子要素またはすべてのネストされた子要素を配列に追加しますか?あなたの期待についてのいくつかの明確な理解を持って、私たちがあなたに迅速に答えを見つけるのを助けるでしょう。 –

答えて

0

は、私はこの問題はopenedCard配列を「見ない」あなたの関数のヘンデルだと思う、とスクリプトが未定義の変数に要素を入れしようとします。リスナーの内部で匿名関数を使用すると、それは動作する可能性があります。

var deck = document.getElementsByClassName("deck")[0]; 
var moves = document.getElementsByClassName("moves")[0]; 
var count = 0; 
var openedCard = []; 

deck.addEventListener("click", function(ev) { 
    var target = ev.target; 
    if (target.nodeName.toLowerCase() === "li") { 
     target.setAttribute("class", "card open show"); 
     count += 1; 
     moves.innerHTML = count; 
    } 
    var children = target.children; 
    openedCard.push(children); 
}, false) 
関連する問題