问题描述
<a href='javascript:doDeleteOne();' id='1'/> <img title='删除' alt='删除' src='/blog/images/ico_del.gif' border='0'></a><a href='javascript:doDeleteOne();' id='2'/> <img title='删除' alt='删除' src='/blog/images/ico_del.gif' border='0'></a><a href='javascript:doDeleteOne();' id='3'/> <img title='删除' alt='删除' src='/blog/images/ico_del.gif' border='0'></a>有若干个这样的元素,在点击“删除”后会执行doDeleteOne(); 我怎么取得发生点击的<a>的id
解决方案
出于保护代码的考虑,你的href里面应该写的是javascript:void(0);然后在onclick上触发doDeleteOne(this)的事件然后在doDelete(name)的方法里可以用name.id来得到A标签的ID或者 如果没有重命ID的话也可以直接用document.getElementById("1")来获得对象
解决方案二:
不错,楼上所说,应该可以.不过你的代码太乱,这样的方式,jquery,可以做到分离.
解决方案三:
$(this).attr("id"); 不好意思..写错..
解决方案四:
通过href="javascript:code;"的方式,不会产生event对象.所调用的方法的this属性为window对象...所以没办法判断事件是在哪个链接上发生.将超链接的代码改为:<a href="" onclick="doDeleteOne()" ><img title='删除' alt='删除' src='/blog/images/ico_del.gif' border='0'></a>在doDeleteOne()中..通过$(this).attr(id);获取到的就是触发事件的超链接id.