Das*_*alo 27 javascript dom concat nodelist
有没有办法加入2个调用document.getElementsByTagName返回的2个NodeLists?
说,我有以下代码
var inputs = documentElement.getElementsByTagName('input');
var selects = document.getElementsByTagName('select');
Run Code Online (Sandbox Code Playgroud)
我想循环结果.有可能在一个循环中吗?
先感谢您!
Sim*_*mon 46
好像你可以使用相同的Array.prototype.slice.call,它使args数组类对象成为一个数组.(见这里)
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);
Run Code Online (Sandbox Code Playgroud)
Mar*_*ger 20
你不能加入它们,但你仍然可以在一个循环中顺序循环它们,如下所示:
for ( var i = 0; i < inputs.length + selects.length; i++ ) {
var element = ( i < inputs.length ) ? inputs[i] : selects[i-inputs.length];
}
Run Code Online (Sandbox Code Playgroud)
或者,使用jQuery,您可以一次性选择它们:
$('input, select')
Run Code Online (Sandbox Code Playgroud)
Yan*_*sky 12
document.querySelectorAll("input, select");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28540 次 |
最近记录: |