selector4 之 巧妙的主体定义符
“我叫土旦然”在Wed群里问“css选择符能不能选择一个元素的前一个元素?”
印象里,css的几个关系符:
_ 后代
> 亲子
+ 弟弟
~ 弟弟们
都是向后找的。。。。没有向前找的。即在参考节点后面的才可能找到。
> 亲子
+ 弟弟
~ 弟弟们
都是向后找的。。。。没有向前找的。即在参考节点后面的才可能找到。
向后找的好处是:查找的方向是单向的,如果支持向前找,路径算法会麻烦很多。。。
不过土旦然的需求也很合理,晚上去看了下css4的草案,真的有类似的方案:
selector主体定义符:"!"
http://dev.w3.org/csswg/selectors4/#subject
如果浏览器真的实现了,就可以下面这句很简单的话来实现土旦然的需求了:
!div + #myId {color:red} /*myId前面的一个div设成红色字体。。。*/
主体定义符很巧妙,它一方面满足土旦然需求类似的功能,也没有改变selector寻路的方向。很赞。
另:ecmascript v4挂了,竟没来由的担忧起css4的命运来。。。