2

コンテナー (.group-container) にラップされた 2 つの画像 (.field-img) があります。

各画像は一意のフィールド ID にあるため、私の tpl は次のように分割されます

<div class=group-container>
 <div id=field1>
  <div class=field-img>
 </div></div>
 <div id=field2>
  <div class=field-img>
 </div></div>
</div>

私のjsは

$(".group-container .field-img").click(function() {
 alert(".group-container .field-img");

私が望むのは、画像がフィールド1またはフィールド2に属しているかどうかを自動的に検出することです。

だから私は警告することができました (".group-container .field1/2 .field-img");

どうすればいいですか?

助けてくれてありがとう

4

5 に答える 5

3
$(".group-container .field-img").click(function() {
   var field=$(this).parent().attr('id');
});
于 2012-08-20T17:48:11.017 に答える
1
$(".group-container .field-img").click(function() {
   var field = this.parentNode.id;
   alert (".group-container ." + field + " .field-img");
});
于 2012-08-20T17:54:44.977 に答える
0

一方の要素がもう一方の要素の内側にあるため、クリックはとにかく伝播します。したがって、クリックを親要素にバインドして、次の操作を行うことができます。

$('div[id^="field"]').on('click', function() {
    alert(".group-container "+this.id+" .field-img");
});

フィドル

または、それらすべてを動的に取得することもできます。

$('div[id^="field"]').on('click', function(e) {
    alert('.'+this.parentNode.className+" "+this.id+" ."+e.target.className);
});

フィドル

</ p>

于 2012-08-20T18:04:17.387 に答える
0
$(".group-container .field-img").each(function() {
        $(this).click(function(){   
          var fieldid=$(this).parent().attr('id');
        });
});
于 2012-08-20T17:55:31.470 に答える