我对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
}