Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将各种变量放入函数范围之外的数组中_Javascript_Arrays_Function - Fatal编程技术网

Javascript 如何将各种变量放入函数范围之外的数组中

Javascript 如何将各种变量放入函数范围之外的数组中,javascript,arrays,function,Javascript,Arrays,Function,谁能告诉我如何将“孩子”放入数组中 多谢各位 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.toLowerC

谁能告诉我如何将“孩子”放入数组中

多谢各位

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)

我认为问题在于函数handel没有“看到”数组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)

children
本身就是一个数组吗?@Jamiec,children只是一个变量--var children=target.children;这个问题本身并不清楚。1.是否只向数组添加所有子元素的标记名或包含内容的标记名?2.是否要将所有直接子元素或所有嵌套子元素添加到数组中?让我们对您的期望有一些清晰的了解,这将帮助我们更快地找到您的答案。@Antony SUTHAKAR J,1。我想在数组2中添加标记内容。添加所有直接子元素,谢谢!你能在这里添加你的HTML代码吗?或者如果您有任何codepen/jsfiddle试用版?会帮助我们的。