有没有办法加入2次document.getElementsByTagName调用返回的2次NodeLists?
比如说,我有以下代码
var inputs = documentElement.getElementsByTagName('input');
var selects = document.getElementsByTagName('select');我想遍历结果。可以在一个循环中实现吗?
提前谢谢你!
发布于 2009-05-27 10:22:12
看起来您可以使用相同的Array.prototype.slice.call使args类似数组的对象变成一个数组。(See here)
var inputs = document.getElementsByTagName('input');
var selects = document.getElementsByTagName('select');
inputs = Array.prototype.slice.call(inputs);
selects = Array.prototype.slice.call(selects);
var res = inputs.concat(selects);
alert(res.length);发布于 2009-05-27 09:54:34
您不能连接它们,但您仍然可以在一个循环中依次循环它们,如下所示:
for ( var i = 0; i < inputs.length + selects.length; i++ ) {
var element = ( i < inputs.length ) ? inputs[i] : selects[i-inputs.length];
}或者,使用jQuery,您可以一次性将它们全部选中:
$('input, select')发布于 2010-02-23 19:36:37
document.querySelectorAll("input, select"); https://stackoverflow.com/questions/914783
复制相似问题