我想找到以foo开头的类的元素,并将事件监听器附加到它们。
这显然有效$$('li[class^=foo]')
,但前提是foo
是元素的第一个类。所以我去了$$('li').hasClass([class^=foo]);
。
虽然有效,但现在我想使用...... class^=foo]).addEvent(...
,但这不起作用
Object [object Array] has no method 'addEvent'
- Fiddle
也试过
$$('li').hasClass([class^=foo]).each(function (el) {
el.addEvent('mouseenter', function () {
//...
但没有成功 - Fiddle
我错过了什么?
答案 0 :(得分:3)
好。你可以做的几件事。
var li_elms = $$('li[class*=foo]');
可以正常使用,但也会包含blahfoo
你可以过滤:
var li_elms = $$('li').filter(function(el){
return el.get('class').indexOf('foo') !== -1;
});
你也可以将事件委托给父ul,并检查在开火时是否应该考虑匹配el。