获得点击的元素's使用Javascript的HTML

Get clicked element's HTML using Javascript

本文关键字:使用 HTML Javascript 元素      更新时间:2024-03-02

如果单击的元素是一个容器,我将向单击的元素添加一个类,并获取它的innerHTML。但是如果它是HTML元素而不是容器,例如,如果单击的元素是图像<img src="hello.png" />(它不是容器,不能使用innerHTML),那么我需要获得相应的元素标记,即我需要获得<img src="hello.png" />。那么,无论如何,用纯JavaScript来做这件事?

附言:我不想在这里使用任何JavaScript库。

你可以这样做。。。

<img src="hello.png" onclick="alert(outerHTML)" />

请注意,outerHTML最近才获得Firefox的支持。

这看起来可能很奇怪,但确实有效

演示:http://jsfiddle.net/2GLjC/

如果使用不同类型的处理程序(非内联),则仍然可以从元素的上下文中使用outerHTML


一个获得更多Firefox支持的跨浏览器解决方案可能是这样的。。。

function getOuterHTML(elem) {
    return elem.outerHTML || document.createElement("div")
                                     .appendChild(elem.cloneNode(true))
                                     .parentNode
                                     .innerHTML
}

因此,只要将元素传递给getOuterHTML函数,它就会返回正确的结果。

alert(getOuterHTML(this));