有没有办法获取一个对象,或者它在脚本中的id是使用jQuery还是什么?
例如:
<div id="div1">
<script type="text/javascript">
var obj = ?? // this should be the "div1" div
</script>
</div>
在这个例子中,obj应该等于&#34; div1&#34; (或对象本身)。
另一个:
<p id="paragraph_7">
<script type="text/javascript">
var obj = ?? // this should be the "paragraph_7" p
</script>
</p>
在这个例子中,obj应该等于&#34; paragraph_7&#34; (或对象本身)。
如果我给出一个&#34; id&#34;到脚本标签,然后得到它的父母应该工作,但还有另一种方式吗?我并不总是能够知道<script>
id。
提前致谢。
答案 0 :(得分:2)
由于脚本是按顺序执行的,因此当前执行的脚本标记始终是页面上的最后一个脚本标记。因此,要获取脚本标记,您可以执行以下操作:
var scripts = document.getElementsByTagName( 'script' );
var thisScriptTag = scripts[ scripts.length - 1 ];
然后你可以使用它:
var obj = thisScriptTag.parentNode;
<小时/> 部分内容来自https://stackoverflow.com/a/3326554/1188942
答案 1 :(得分:1)
插入this code即可。基本上,当您查询脚本时,当前运行的脚本是当前位于DOM中的<scripts>
列表中的最后一个脚本。
<script>
//protect from the global scope using an immediate function
(function() {
//just being verbose
var scripts, scriptIndex, thisScript, parent;
scripts = document.getElementsByTagName('script');
scriptIndex = scripts.length - 1;
thisScript = scripts[scriptIndex];
parent = thisScript.parentNode.id;
//proof that we got the parent is to print the id
document.write(parent);
}());
</script>