-1

我有一个关于 jquery 的麻烦。具体来说,我有一个 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);

在循环之外只做一次。从您的代码中删除该onclick属性。对 div 的任何点击都会冒泡到#pages它们将被处理的元素GoToImage

GoToImage如果您确实需要它,您可以使用它来this引用单击的 div,并this.id获取该元素的 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

只需传递thisonclick()方法:它将整个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 回答