如何在同一 div 中获取 div 的 uniqe id



我对jquery有麻烦。具体来说,我有一个div,在这个div 中,我使用 append() 函数创建了很多div。这些中的每个div都具有单击功能。 我需要在 ı 单击我想要的div 时获取 id 。jquery,

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

然后转到图像功能在这里,

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

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

我尝试了很多不起作用的方法。我必须使用哪个函数来获取单击的div的id。

不要使用内联事件处理程序 - 它们已经过时,会给你带来很多问题。

在这种情况下,您可以使用事件委派:

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

只需在循环外执行此操作一次。 从代码中删除 onclick 属性。 对div 的任何单击都将冒泡到 #pages 元素,GoToImage 将在其中处理它们。

使用 GoToImage您可以使用 this 来引用单击的div,this.id获取该元素的 ID,如果您确实需要它:

function GoToImage(ev) {
    var id = this.id;
    ...
}

在里面GoToImage做一个

var id = this.id;

这将为您提供点击的div的ID

只需将this传递给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
}

最新更新