Mootools光滑的选择器引擎文档似乎有点稀疏/不友好。
http://mootools.net/docs/core/Slick/Slick
一个例子:
通常情况下,我可以使用:
到达元素的最后一个子元素$('wrapper').getLast().setStyle('background-color','green');
我如何利用新的光滑引擎来实现同样的目标? 文档在哪里?
我应该学习CSS3选择器吗?
在他们的例子中,他们使用$$('p.foo!^')来获得p class foo的最后一个孩子。 (它们是指$$数组中最后一个p.foo实例还是最后一个元素的最后一个子实例???)
这里我试着改变一下,最后两个不起作用:
答案 0 :(得分:3)
下面的示例将选择具有id="wrapper
的元素的最后一个子元素。它只会返回一个元素。
$$('#wrapper !^').setStyle('background-color','red');
或更好的方式,因为它只需要一个元素,因为它更快:
document.getElement('#wrapper !^').setStyle('background-color','red');
但是,如果它是这样写的,我们选择页面上所有p元素的最后一个子元素class="wrapper"
$$('p.wrapper !^').setStyle('background-color','red');
另一种方法就是这样,但下一个例子更快:
('someId').getLast().setStyle('background-color','red');
正如Dimitar所指出的,这是一种更好(更快)的方法:
document.getElement('#someId :last-child')
至于你的小提琴,最后两个选择器应该这样写:
$$('#wrapper :last-child').setStyle('background-color','red');
$$('#wrapper !^').setStyle('background-color','red');
请注意“wrapper”和“:last-child”之间的空格,因为我们正在选择子包元素“wrapper”的最后一个子节点。