我遇到了关于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。
答案 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
}