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 に答える