2

親divにliタグを追加する関数があります...ただし、追加した後、カーソルを合わせたときにcssプロパティを変更して、この追加されたリストアイテムを操作したいのですが、jQueryセレクターがそれを見つけることができません(どうやら.hover関数は、ページの読み込み時に操作できるリストアイテムを検索しており、ページの読み込み時に追加されたアイテムが存在しないためと思われます)。

私のプリペンドコードは次のようになります。

$("div#content-text div#sub-text").prepend(
"<li id='item1' class='contents-rec'><div class='text'></div></li>");

私のホバーコード(機能していない)は次のようになります:

$("div#content-text div#sub-text li.contents-rec").hover(function(){
$(this).css({border:'1px solid #fff'});
}, function(){
$(this).css({border:''});
},0);

どんな助けでも大歓迎です!! 前もって感謝します

4

3 に答える 3

2

ページの読み込み時にホバーイベントがすでに割り当てられた後に要素を動的に挿入する場合はlive()、その状況で使用できます('hover'パラメーターにはjQuery1.4.1以降が必要です)。

$("div#content-text div#sub-text li.contents-rec").live('hover',
    function(event) { 
        if (event.type == 'mouseover') {
            $(this).css({border:'10px solid orange'}); 
        } else {
            $(this).css({border:''}); 
        }
});
于 2010-02-25T18:37:01.810 に答える
0

表示しているコードは実際には何も付加されていないので、投稿しやすいように省略したと思います。(ただし、実際に機能するコードを投稿すれば、はるかに役立つことができます。)

次に、ホバーコードが先頭コードの後に​​実行されていることを確認します。それが起こらない場合は、なんとかして調整する必要があります。(多分setTimeout(...)で。)

JQueryのlive()が役立つ可能性がありますが、バージョン1.3.xはlive()バインディングでの「ホバー」をサポートしていません。

于 2010-02-25T18:33:39.680 に答える
0

この行を実行していますか...

$("div#content-text div#sub-text li.contents-rec").hover(function(){ $(this).css({border:'1px solid #fff'}); }, function(){ $(this).css({border:''}); },0);

この後...

$("div#content-text div#sub-text").prepend( "");

もしそうなら、それはそこにあるはずです。

live()メソッドもチェックしてください。 ここ

于 2010-02-25T18:31:39.050 に答える