我在window.onLoad中使用HTML代码调用findElements, tmp2选择所有标签,但其他标签不适用。我真的想不出来;提前致谢。
function findElements(){
var tmp = document.getElementsByClassName("*"); // nothing
var tmp2 = document.getElementsByTagName("*"); // all tags, so regexp could be input arg.
var tmp3 = document.getElementsByTagName("b..."); // nothing, but body tag is supposed to be selected
}
答案 0 :(得分:1)
getElementsByTagName
方法不接受正则表达式作为参数。
它只接受字符串,它必须是:
*
getElementsByClassName
方法不接受正则表达式。
它只接受字符串,必须是:
querySelectorAll
方法可以使用attribute selectors进行更复杂的属性匹配(包括类属性),但即使它不支持正则表达式。
如果您真的想要进行正则表达式匹配,则需要使用通配符(getElementsByTagName("*")
)选择所有元素,然后循环结果,依次测试每个元素。