-1

jqueryで困っています。具体的に言うと、1 つの div があり、この div では、append() 関数を使用して多くの div を作成します。これらの各 div には onclick 関数があります。必要なものをクリックしたときに、div の ID を取得する必要があります。jquery、

for (var i=1; i<=count ; i++){
$('#pages').append('<div onclick="GoToImage(); return false;" id='+i+'; class="pageNo"> </div>'); 

}

次に、ここで GoToImage 関数、

function GoToImage(){
var divs = $( "div" ).get();


divs = jQuery.unique( divs );
showSlide(divs);}

私はうまくいかない多くの方法を試しました。クリックされたdivのIDを取得するには、どの関数が必要ですか?

4

3 に答える 3

1

インライン イベント ハンドラは使用しないでください。これらは廃止されており、多くの問題を引き起こす可能性があります。

この場合、イベント委任を使用できます。

$('#pages').on('click', 'div.pageNo', GoToImage);

ループの外側で、これを 1 回だけ実行します。onclickコードから属性を削除します。div をクリックすると、#pagesによって処理される要素までバブルアップしGoToImageます。

実際に必要な場合は、クリックした div を参照し、その要素の ID を取得するために使用GoToImageできます。thisthis.id

function GoToImage(ev) {
    var id = this.id;
    ...
}
于 2013-10-31T08:48:39.967 に答える
0

内部GoToImageで行う

var id = this.id;

クリックされたdivのIDが表示されます

于 2013-10-31T08:44:06.400 に答える
0

thismethod:に渡すだけで、オブジェクトonclick()全体divが関数に渡され、その属性を取得できます

$('#pages').append('<div onclick="GoToImage(this); return false;" id='+i+'; class="pageNo"> </div>'); 

そして、関数でIDを取得する場合があります

更新しました

function GoToImage(MyDivelement){
   var id = MyDivelement.id // here you can get IDs you want on clicking div
}
于 2013-10-31T08:47:49.493 に答える