1

有没有办法获取一个对象或它在脚本中的 id 在于使用 jQuery 或其他东西?

例如:

<div id="div1">
  <script type="text/javascript">
     var obj = ?? // this should be the "div1" div
  </script>
</div>

在此示例中,obj 应等于“div1”(或对象本身)。

另一个:

<p id="paragraph_7">
  <script type="text/javascript">
     var obj = ?? // this should be the "paragraph_7" p
  </script>
</p>

在此示例中,obj 应等于“paragraph_7”(或对象本身)。

如果我给脚本标签一个“id”然后让它的父级应该可以工作,但是还有其他方法吗?并非总是我能够知道<script>身份证。

提前致谢。

4

2 回答 2

2

由于脚本是按顺序执行的,因此当前执行的脚本标签始终是页面上的最后一个脚本标签。因此,要获取脚本标签,您可以执行以下操作:

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

然后你可以使用这个:

var obj = thisScriptTag.parentNode;


其中一部分来自https://stackoverflow.com/a/3326554/1188942

于 2012-08-09T07:20:25.480 回答
1

插入此代码,它将起作用。基本上,当您查询脚本时,您当前运行的脚本是<scripts>当前在 DOM 中的列表中的最后一个。

<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>
于 2012-08-09T07:21:28.880 回答