如何获得一个没有id没有name的元素

qiang119 2008-01-13 10:44:38
<form name="aa">
<img src="../images/zoom.gif" width="14" height="14" border="0" onclick="hk_event()">
</form>

原以为用getelementByID,getelementByName,可惜不行.

<img src="../images/zoom.gif" width="14" height="14" border="0" onclick="hk_event()">不能加name或id,
请问如何获得该img,并实现onclick
...全文
109 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
春三十一郎 2008-01-13
上面讲的一二三种方法都需要理解对象,不理解不好办。

第一种方法比较经典

第二种方法是常见的

第三种方法代码量大,因为需要HTML内不包含散乱的JavaScript函数调用,那么好处是什么你自己思考。
回复
春三十一郎 2008-01-13
最后一种比较复杂:

1、首先你的img都在Form内,如果是Form的子元素可以直接遍历,但是你的是img。

2、那么Form如果和img同在一个html的标签内,那么Form可以用多种方式获取
window.document.forms["表单名"];
window.document.getElementById("表单ID")

3、获取Form的元素后,找父级元素
parentElement

4、遍历父级的子元素,判断tagName是否为img,如果是则绑定onClick事件

5、先写好事件模型,在遍历时用闭包处理。


思路在上面了,祝你好运!
回复
sephy 2008-01-13
LSS是错的……
LS也是不必要的……
srcElement是各个浏览器都支持的吧
回复
春三十一郎 2008-01-13
还有一种是很常见的:

function testFunction(objElement){

alert("标签名:" + objElement.tagName + " 图片路径:" + objElement.src)

}
//修改
//<img src="../images/zoom.gif" width="14" height="14" border="0" onclick="testFunction(this);">
回复
春三十一郎 2008-01-13
有三种答案:

既然你用了<img src="../images/zoom.gif" width="14" height="14" border="0" onclick="hk_event()">那么看下面:


function testFunction(){
if(this!=null && this.tagName!=null){
alert("标签名:" + this.tagName + " 图片路径:" + this.src)
}
}
//修改
//<img src="../images/zoom.gif" width="14" height="14" border="0" onclick="testFunction">
回复
nicholsky 2008-01-13
又或者用document.images[0]
回复
sephy 2008-01-13
其实楼主这个问题,用srcElement、或者加上个instance of是不是就可以解决?
函数调用中srcElement即为调用者对象
回复
he_8134 2008-01-13
路过,1,2楼标准答案。。蹭分。。
回复
MikeCheers 2008-01-13
看1、2楼就行了 不过这个问题比较奇怪 你为什么不指定id和name呢 不指定处理起来效率很低的
回复
xiaolei1982 2008-01-13
<img   src="../images/zoom.gif"   width="14"   height="14"   border="0"   onclick="alert('aa')">
<script language="JavaScript">
for(i=0;i<document.getElementsByTagName("img").length;i++)
{
if(document.getElementsByTagName("img")[i].src="../images/zoom.gif")
{
document.getElementsByTagName("img")[i].onclick();
}
}
</script>
回复
xiaolei1982 2008-01-13
document.getElementsByTagName("img")[0].onclick
回复
发动态
发帖子
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
社区公告
暂无公告