Get DOM element where script tag is
本问题已经有最佳答案,请猛点这里访问。
我需要编写一个脚本,该脚本将使用document.write生成一些输出,但我需要知道它包含哪些元素,例如:
1 2 3 4 5 6 | <p> paragraph 1 <script src="test.js" type="text/javascript"> </p> |
我需要一个P标签的参考…
谢谢!
在运行脚本时,文档仅部分加载。因此,脚本元素将是文档中的最后一个节点:
1 2 3 4 5 6 | 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 |
示例:http://jsfiddle.net/nqn3s/
1 2 3 4 5 6 7 8 9 10 11 12 | <p> paragraph 1 <script id="test" type="text/javascript"> var scpt = document.getElementById("test" ); var p = scpt.parentNode; p.removeChild( scpt ); alert("old content:" + p.innerHTML ); p.innerHTML ="some new content"; </p> |
为什么不在相关的P标签上加一个ID?
1 2 3 4 5 | <p id="desiredTag"> paragraph 1 <script src="test.js" type="text/javascript"> </p> |
然后,您可以执行