比如有一段js ,<script>这里写获取该script外层元素的代码</script>,我把它插入一个页面的任何位置,如何能够通过该<script></script>的写的代码获得该js所在位置的父层元素。注意,该script无id及其他标示符

解决方案 »

  1.   

    如果页面中只有一个script标签,这样是可以做到的,如果有多个script标签就做不到了,不知道这样做有什么意义.<div id="test">
    <script id="a">
    alert(document.getElementsByTagName("script")[0].parentNode.getAttribute("id"));
    </script>
    </div>
      

  2.   

    如果不是动态生成的<script>可以这样var scripts = document.getElementsByTagName('script');
    var script  = scripts[scripts.length];
    var parentNode = script.parentNode;
      

  3.   


    一个页面肯定很多js 啊, 比如动态插入广告啊,页面中的任何位置都可以插入,这时候肯定要判断再插入广告js的位置显示广告
      

  4.   

    动态插入广告啊,页面中的任何位置都可以插入,这时候肯定要判断再插入广告js的位置显示广告,你这还是默认把js作为最后一条了
      

  5.   

    获取操作dom需要有特征值才可以啊,不然怎么获取?
      

  6.   


    就是在js中创建html元素并在 引入js的地方直接显示 ,为保证通用性,事先不知道是哪个层。我也很头疼啊!!!
      

  7.   

    换句话是不是可以这么理解,在当前js文件中获取当前js的引用script标签的父节点。
    个人认为是不可能的,引用js后,所有js中的顶级作用域都是当前window,貌似没见过js中的作用域为其他bom或dom对象,除非认为地设置,但设置也需要先获取到那个bom或dom对象。