Tim*_*ind 2 javascript css css-selectors css3 selectors-api
为什么将el.querySelectorAll与以'>'开头的选择器一起使用是违法的?什么是简单的替代解决方案?
var el = document.createElement('div');
el.querySelector('> div');
Run Code Online (Sandbox Code Playgroud)
上面的代码将产生一个DOM Exception 12.解决方案必须避免使用jquery,它确实支持它而不会出错.可以提供Zepto解决方案,因为Zepto不支持.
当选择器不以'>'开头时,它是有效的:
el.querySelectorAll('div > div');
Run Code Online (Sandbox Code Playgroud)
document.querySelectorAll 需要一个包含一个或多个CSS选择器的字符串,用逗号分隔.
'> div' 不是有效的css选择器.
>是一个儿童组合子.儿童组合子描述了两个元素之间的童年关系.
'> div'只有一个元素.
' div >'也行不通.
有关详情,请参阅