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试用版?会帮助我们的。