1

我想找到以 foo 开头的类的元素并将事件侦听器附加到它们。

这显然有效$$('li[class^=foo]'),但前提foo是元素的第一类。所以我去了$$('li').hasClass([class^=foo]);

那行得通,但现在我想使用……但那class^=foo]).addEvent(...行不通。
Object [object Array] has no method 'addEvent'-小提琴

也试过

$$('li').hasClass([class^=foo]).each(function (el) {  
    el.addEvent('mouseenter', function () {
    //...

但没有成功 -小提琴

我错过了什么?

4

1 回答 1

3

好。你可以做几件事。

var li_elms = $$('li[class*=foo]'); 

可以正常工作,但它也将包括blahfoo

你可以过滤:

var li_elms = $$('li').filter(function(el){ 
    return el.get('class').indexOf('foo') !== -1; 
});

您还可以将事件委托给父 ul 并检查是否应在触发时考虑匹配的 el。

于 2013-09-25T15:44:13.187 回答