2

class = "big_square"のボックスがいくつかあります。これらはすべて、Oracle DBへのJava呼び出しによって動的に生成されるIDを持っています。これに基づいて、特定の要素IDを取得し、それを変数として返します。次の呼び出し

HTMLは次のとおりです。

<DIV style="DISPLAY: block" id=big_square_container>
<DIV id="2" class=big_square></DIV>
<DIV id="3" class=big_square></DIV>
<DIV id="4" class=big_square></DIV>
<DIV id="5" class=big_square></DIV>
<DIV id="6" class=big_square></DIV></DIV>
</DIV>

そして私がIDを見つけようとしているjquery:

$(".big_square").click(function(){
    $(".big_square").animate({opacity: .4}, 'fast', 'linear', function() {
      }); 
    $(this).animate({opacity: 1}, 'fast', 'linear', function() {
      }); 
   var x = $(this).getElementbyID();
    console.log(x);
    response.setAttribute("x",x);
});

プログラムは、クラスを参照するときに「これ」が何であるかを知らないと思いますが、それでも、各.big_squareで内部コードを実行するなど、何も起こらないように見える何かを実行する必要があります。どんな助けでも大歓迎です。

4

2 に答える 2

5

idクリック コールバック内でクリックされた値を見つけようとしているだけのようです。その場合は、次を使用してください。

var id = $(this).attr('id');

編集

数人が指摘しているように、ここでjQueryを完全に避けて、もう少しパフォーマンスの高い次のことを行うこともできます

var id = this.id;
于 2013-03-15T15:33:31.627 に答える
3

document.getElementById指定された ID を持つ DOM 要素を取得するために使用されます。null一致する要素がない場合に返されます。

クリックされた要素の ID を取得するには、 を使用する$(this).attr("id");か、より冗長で jQuery-exclusive を使用しthis.idます。

于 2013-03-15T15:33:40.103 に答える