如何在同一个div中获得div的唯一ID

时间:2013-10-31 08:41:43

标签: javascript jquery html

我遇到了关于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);}

我尝试了许多不起作用的方法。我必须使用哪个函数来获取clicked div的ID。

3 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

答案 1 :(得分:0)

GoToImage内进行

var id = this.id;

将为您提供clicked div的ID

答案 2 :(得分:0)

只需将this传递给onclick()方法:将整个div对象传递给函数,您就可以获得它的属性

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

在功能上你可能会得到身份证

<强>更新

function GoToImage(MyDivelement){
   var id = MyDivelement.id // here you can get IDs you want on clicking div
}