获取代表javascript标记的dom元素,其中嵌入了正在运行的代码

时间:2010-09-18 00:21:04

标签: javascript

示例:

<script>
// I want to have the dom element of the script tag that is holding the code that goes here
</script>

如果我这样做:

<script>
alert(this)
</script>

这个是窗口。

我想访问脚本标记本身。

2 个答案:

答案 0 :(得分:0)

这应该会找到您网页中的<script>元素。

var scripts = document.getElementsByTagName("script");

for (var i = 0; i < scripts.length; i++) {
    var script = scripts[i];
    // Now you can do stuff with script
}

如果你想要代码所在,我认为你可以这样做:

var scripts = document.getElementsByTagName("script");
var script = scripts[scripts.length - 1];

只是好奇:一旦你得到它,你想用它做什么?

答案 1 :(得分:0)

在另一个堆栈(https://stackoverflow.com/a/6933817)中找到,也许这个答案可以解决您的问题:

var target = document.documentElement; // start at the root element

while (target.childNodes.length && target.lastChild.nodeType == 1) { // find last HTMLElement child node
        target = target.lastChild;
}
// target is now the script element
alert(target.parentNode); // this is p