-1

PHPクエリから5つの要素があるとしましょう(動的であるため)以下に示します:

element 1 class=element id=id_1
element 2 class=element id=id_2
element 3 class=element id=id_3
element 4 class=element id=id_4
element 5 class=element id=id_5

通常は、クラスまたはidを知ってjquery イベントを使用しますが、この場合、正確にはidを知りません。

$("#id_3").click(function()
{ 
    //in this case we have known we want to add event when we click id_3
});

PHPクエリから動的要素を処理するには?
たとえば、 でクリックしたことをどのように知ることができますelement 3id_3?
何を記入する必要があり$(????).click();ますか? クラスを使用する場合、クリックしたクラスから
どのIDを参照しているかを知るにはどうすればよいですか?

4

6 に答える 6

2

これが私がそれを機能させる唯一の方法でした。たとえば、クリックされた要素の属性IDまたは値を取得したい場合...

$("containerElem").on("click", "someElemID", function(evt) {
    var getElemID = $(evt.target).attr("id");
    var getVal = $(evt.target).val();
});
于 2013-01-05T05:50:25.340 に答える
1

あなたの例では、要素はすべて同じクラスを持っているので、それに基づいてイベントハンドラーをセットアップできます:

$(".element").click(function() {
   // "this" refers to the clicked element
   // this.id will be the id of the clicked element
});

または、これらの要素が、最初のページの読み込み後のある時点で Ajax を介して読み込まれるという意味で動的である場合は、委任されたイベント ハンドラーを使用します。

$("somecontainerelement").on("click", ".element", function() {
    // do something with this.id
});

「somecontainerelement」は、動的要素が追加される要素であることが理想的ですが、document.

于 2012-05-14T02:28:56.743 に答える
0

それらがすべて同じクラスを持っている場合は、クラス セレクターを使用できます。次に、目的thisのプロパティを見つけるために使用します。

$('.element').click(
     $(this).prop('id');
); 
于 2012-05-14T02:24:14.280 に答える
0

クリックのみを追加したい場合は、サーバー側で生成されたhtmlに追加してみませんか?

于 2012-05-14T02:26:03.647 に答える
0

attribute starsWithセレクター &を使用onして、動的に作成された要素にイベントをバインドできます。

$('body').on('click', '[id^=id]', function(e){

});
于 2012-05-14T02:26:18.693 に答える