2013-10-08 42 views
2

我有关于的getElementsByTagName一个问题,我想找回这是TD,但也有类名是“MyClass的”和不具有属性的高度的所有元素。的getElementsByTagName与类选择

我做到以下几点:

document.getElementsByTagName("TD")

和它的作品。当我做

document.getElementsByTagName("TD.MyClass:not[height]")

它不工作

如何使人们有可能withouth的使用JQuery或者我可以检索首先TD的,然后在设定的TD的应用的一些过滤器?

任何帮助?

+3

使用['document.querySelectorAll'](https://developer.mozilla.org/ EN-US /文档/网络/ API/Document.querySelectorAll)。 –

+0

是的,我认为'getElementsByTagName'实际上只是寻找标签而不是类。 – Sethen

+1

_“它不起作用”_ - 是的,令人惊讶的是,发明自己的语法的频率不会这么做。 – CBroe

回答

5

这是你会使用document.querySelectorAll()对HTML节点的集合。值得一提的是,你需要使用括号中:not[height]左右,太,否则你的选择是无效的:

document.querySelectorAll("TD.MyClass:not([height])"); 
+0

有另一种方式的辩论,因为这似乎不是所有IE版本支持这一:( – Alnedru

+0

@Alnedru querySelectorAll [由IE8的支持起(http://caniuse.com/#feat=queryselector)这里的问题是,':不要()'[*不支持](http://caniuse.com/#feat=css-sel3)IE8。你需要找到一个不同的CSS选择器,它对IE8有类似的影响。 –

2

可以使用document.querySelectorAll返回适用于给定的选择

document.querySelectorAll('td.myClass'); // will return array of all tds with given class