【发布时间】:2014-01-30 21:49:15
【问题描述】:
我无法让这个函数 (addMe) 将来自 img 的数据和来自 div childBox 的数据保存在两个全局数组中? 我认为该功能有问题,但看不到是什么。 这是我的code。
全局变量://在函数初始化之前
var imgSrclist = [];
var imgSpanlist = [];
功能:
function addMe(obj) {
var el = document.getElementById(obj.getAttribute('data-img'));
var parent = el.parentNode.getElementsByClassName('childBox')[0],
imgSRC = parent.getElementsByName('img')[0].src,
spanTXT = parent.getElementsByTagName('span')[0].innerHTML;
if (obj.checked) {
imgSpanlist[el.id].imgSrc.push(imgSRC);
imgSrclist[el.id].imgSpan.push(spanTXT);
} else {
var imgIx = imgSrclist[el.id].imgSrc.indexOf(imgSRC),
spanIx = imgSpanlist[el.id].imgSpan.indexOf(spanTXT);
imgSrclist[el.id].imgSrc.splice(imgIx);
imgSpanlist[el.id].imgSpan.splice(spanIx);
}
}
数据应保存在全局变量中,因为稍后按下按钮时将在新窗口中使用它。新窗口的脚本代码以此开头:
var imgSrclist = window.opener.imgSrclist;
var imgSpanlist = window.opener.imgSpanlist;
编辑:代码现在已更新,因此声明了数组。但问题是 imgsrc 和 span 文本不会出现在新窗口中。它们是否保存在数组中?
【问题讨论】:
-
我认为你应该将变量声明为一个数组。
标签: javascript html css