我需要添加父div的子元素的数组道具,如下所示:
<div>
<img id="1">
<img id="2">
<img id="3">
<img id="4">
</div>
所以在数组中它应该是a = [1,2,3,4];
到目前为止我做了什么:
lengthOfSmallImgs = element.children('div').children('img').length;
for (var i = 0; i < lengthOfSmallImgs; i++) {
tags = [];
tags[i] = element.children('div').children('img');
console.log(tags[i]);
}
但不幸的是,控制台看起来像是:a=[1, undefined, undefined, undefined]
和a[0] = [img#1, img#2, img#3, img#4, prevObject: x.fn.x.init[1], context: a].
我哪里错了?
答案 0 :(得分:1)
tags[i] = element.children('div').children('img');
在这一行。如果这个element.children('div').children('img');
返回一个数组,因为你在第一行检查它的长度,正确的方法应该是这样的tags[i] = element.children('div').children('img')[i];
答案 1 :(得分:1)
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
而不是:
tags[i] = element.children('div').children('img');
答案 2 :(得分:0)
初始化循环内的数组。 放
tags = [];
在for循环之外。
编辑:完整代码应如下所示:
lengthOfSmallImgs = element.children('div').children('img').length;
tags = [];
for (var i = 0; i < lengthOfSmallImgs; i++) {
tags[i] = element.children('div').children('img')[i].id;
}
console.log(tags); // Outputs Array ["1", "2", "3", "4"]