我试过环顾四周,似乎无法找到相同的案例,所以这就是我的问题:
任何人都可以帮我解决这个简单的错误。 Jquery不是我最强的套房,但我觉得这是一个我想念的小东西。使用下面的代码,我得到错误' undefined'。
HTML:
<a href='#' ><img src= "./images/1.jpg" width= '200px' id="2" rel="arm1" onclick = 'test()' /></a>
Jquery的:
function test(){
alert($(this).html());
};
我想要的是点击img标签的HTML代码。还有另一种方法吗?
所以我尝试了以下内容并且它也不起作用:我已经将onclick添加到ahref标签中。(错误:未定义)我试过路过&#39;事件&#39;作为参数。 (尝试获取其html()时,错误说明&#39;事件&#39;未声明)。
PS我不想将id用作onclick函数!
Anyhelp将非常感谢!
谢谢!
答案 0 :(得分:2)
好的,这就是你如何获取图片HTML:
function test(obj) {
alert($(obj).parent().html());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">
<img src= "http://lorempixel.com/100/100" onclick="test(this)" width="200px" id="2" rel="arm1" />
</a>
如您所见,您可以将当前图像对象传递给this
单击处理程序。从那里你转到父元素(a
)并阅读它的HTML内容,这将是一个图像HTML。
UPD。 t.niese在评论中有一个关于outerHTML
的观点,它有很好的支持,所以理想的代码看起来像:
alert(obj.outerHTML);
答案 1 :(得分:1)
this
函数中的 test()
指的是Window
。要访问单击的元素,请尝试以下操作:
HTML:
<element onclick='test(this)' />
JS:
function test(element){
alert(element.innerHTML);
};
虽然点击<img>
不会显示任何内容,因为其innerHTML将为空。
修改:正如dsfq所说,alert(element.outerHTML)
会向您显示图片的HTML。