1

Mootools 光滑的选择器引擎文档似乎有点稀疏/不友好。

http://mootools.net/docs/core/Slick/Slick

一个例子:

通常我可以通过以下方式到达元素的最后一个子元素:

$('wrapper').getLast().setStyle('background-color','green');

我如何利用新的 slick 引擎来达到同样的效果?文档在哪里?

我应该只学习 CSS3 选择器吗?

在他们的示例中,他们使用 $$('p.foo !^') 来获取 p 类 foo 的最后一个孩子,无论这意味着什么。(它们是指 $$ 数组中 p.foo 的最后一个实例还是最后一个元素的最后一个子元素???)

在这里我试着摆弄了一下,最后两个不起作用:

http://jsfiddle.net/XLVr6/1/

4

1 回答 1

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" 的子元素的最后一个子元素。

于 2013-04-29T15:16:17.517 回答