我有一个for循环,在其中我检查当前迭代的元素是否有任何a标签或form标签内部,如果是,我做了一些东西给他们.无论如何,我可以检查或者像这样:
var form_or_a_tag = elem[i].getElementsByTagName('a');
var form_or_a_tag = elem[i].getElementsByTagName('form');
Run Code Online (Sandbox Code Playgroud)
但我怎样才能将它们结合起来?
这些都失败了:
var form_or_a_tag = elem[i].getElementsByTagName('a form');
var form_or_a_tag = elem[i].getElementsByTagName('a, form');
var form_or_a_tag = elem[i].getElementsByTagName('a') || elem[i].getElementsByTagName('form');
Run Code Online (Sandbox Code Playgroud)
基本上我想存储在变量form_or_a_tagall form或a标签中,这些标签位于当前正在迭代的元素中.
你可以用querySelectorAll.
var form_or_a_tag = elem[i].querySelectorAll('a, form');
Run Code Online (Sandbox Code Playgroud)
这可能有效:
var nodelist_a = elem[i].getElementsByTagName('a'); // NodeList
var nodelist_form = elem[i].getElementsByTagName('form'); // NodeList
var array_a = Array.prototype.slice.call(nodelist_a); // Array
var array_form = Array.prototype.slice.call(nodelist_form); // Array
var array_both = array_a.concat(array_form); // Array
Run Code Online (Sandbox Code Playgroud)
注意,结果不再是NodeList而是Array; 但每个项目都是一个节点.
| 归档时间: |
|
| 查看次数: |
4401 次 |
| 最近记录: |