在CSS中,经常会在第一行写下这样一段样式
{padding: 0; margin: 0;}
通配符_意味着给所有的元素设置默认的边距。jQuery中我们也可以通过传递_选择器来选中文档页面中的元素
描述:$( "*" )
抛开jQuery,如果要获取文档中所有的元素,通过document.getElementsByTagName()中传递"*"同样可以获取到
不难发现,id、class、tag都可以通过原生的方法获取到对应的节点,但是我们还需要考虑一个兼容性的问题,我这里顺便提及一下,比如:
-
IE会将注释节点实现为元素,所以在IE中调用getElementsByTagName里面会包含注释节点,这个通常是不应该的
-
getElementById的参数在IE8及较低的版本不区分大小写
-
IE7及较低的版本中,表单元素中,如果表单A的name属性名用了另一个元素B的ID名并且A在B之前,那么getElementById会选中A
-
IE8及较低的版本,浏览器不支持getElementsByClassName
5、层级选择器
文档中的所有的节点之间都是有这样或者那样的关系。我们可以把节点之间的关系可以用传统的家族关系来描述,可以把文档树当作一个家谱,那么节点与节点直接就会存在父子,兄弟,祖孙的关系了。
选择器中的层级选择器就是用来处理这种关系:子元素、后代元素、兄弟元素、相邻元素
通过一个列表,对比层级选择器的区别