-1

これは、私がどこから来ているのかを確認するのに役立つ場合があります。 Jqueryは各問題をネストしました

私はdivsこのコードでページに追加しています:

jQuery("#list").append(
    jQuery("<div>")
        .attr("id", "Entry")
        .html(html)
);

htmlテキストとアンカーを含む単なる文字列です。

新しいdivをアニメーション化しようとしています-idを持つ複数のdivがあります#Entry

これが私のコードです:

jQuery("#Entry").hover(function(){  
    jQuery(this)
    .animate({
        width:"50%",
        fontSize: "30px",
        opacity: 0.3,
        borderwidth: "15px"
    }, 500);  
});

それが重要な場合、上記は私のjQuery(document).ready(function(){ }機能にあります。

4

2 に答える 2

1

まず、<div>そのIDで複数を追加する場合は、間違っています。id属性は、ドキュメント内で一意である必要があります(必須)。同じ要素を持つ要素が複数あるとid、Javascriptが発生することは想定されていないため、Javascriptが混乱します。これは、同じ社会保障番号を持つ2人に相当します。:)要素のグループに関して一般的でベストプラクティスは、それらすべてにクラスを与え、そのように選択することです。

それを過ぎて、あなたはliveあなたが望むことをする関数を調べるべきです。基本的に、準備ができているドキュメントでコードを実行すると、ドキュメントの現在の状態に対して実行されます。つまり、その時点で存在する(提供されたセレクターに一致する)要素のみが、提供されたイベントにバインドされます。このlive関数は、これを回避する方法として作成されました。別の解決策は、新しいを追加した後にバインディングコードを再度実行することですが、これは、を実行する必要があるイベントをサポートする、を使用<div>するほどクリーンではありません。livemouseovermouseouthover

于 2009-06-17T22:28:01.350 に答える
0

live()は、最新のjQueryのカスタムイベントを含むすべてのイベントをサポートしています...

于 2010-04-06T15:44:40.153 に答える