获取正文中的特定标记元素

时间:2012-10-14 17:57:21

标签: javascript html

我正在尝试在体内获取以下所有标签(INPUT,A和BUTTON) 有没有办法做到这一点,而无需使用javascript

循环体内的所有标签
var allInputTags = document.body.getElementsByTagName('*');

我正在考虑做类似

的事情
var inputtags = document.body.getElementsByTagName('INPUT');
var atags = document.body.getElementsByTagName('A');
var buttontags = document.body.getElementsByTagName('BUTTON');

var allTags = inputtags + atags + buttontags; 

但我想这样我就不会按照它们出现在Body中的顺序来获取元素。

2 个答案:

答案 0 :(得分:3)

如果浏览器支持querySelectorAll [MDN],您可以执行以下操作:

var allTags = document.querySelectorAll('input, a, button');

The elements are returned in document order。有关支持querySelectorAll的浏览器列表,请参阅caniuse.com

在所有其他浏览器中,您必须使用getElementsByTagName,但我认为按顺序获取元素非常困难。

您还可以考虑使用选择器引擎,例如Sizzle(jQuery使用的引擎)。或者,如果您打算执行复杂的DOM操作,jQuery本身。

答案 1 :(得分:1)

您可以使用Array.concat

var allTags = inputtags.concat(atags, buttontags); 
相关问题