如何通过一条js获知该js在页面里的位置,高手进!!!

迅捷微风 2012-06-07 02:56:20
比如有一段js ,<script>这里写获取该script外层元素的代码</script>,我把它插入一个页面的任何位置,如何能够通过该<script></script>的写的代码获得该js所在位置的父层元素。注意,该script无id及其他标示符
...全文
201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeajin 2012-06-08
  • 打赏
  • 举报
回复
换句话是不是可以这么理解,在当前js文件中获取当前js的引用script标签的父节点。
个人认为是不可能的,引用js后,所有js中的顶级作用域都是当前window,貌似没见过js中的作用域为其他bom或dom对象,除非认为地设置,但设置也需要先获取到那个bom或dom对象。
迅捷微风 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

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

就是在js中创建html元素并在 引入js的地方直接显示 ,为保证通用性,事先不知道是哪个层。我也很头疼啊!!!
迅捷微风 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

换句话是不是可以这么理解,在当前js文件中获取当前js的引用script标签的父节点。
个人认为是不可能的,引用js后,所有js中的顶级作用域都是当前window,貌似没见过js中的作用域为其他bom或dom对象,除非认为地设置,但设置也需要先获取到那个bom或dom对象。
[/Quote]
清楚一些了~~~
001007009 2012-06-07
  • 打赏
  • 举报
回复
获取操作dom需要有特征值才可以啊,不然怎么获取?
迅捷微风 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

如果不是动态生成的<script>可以这样
JScript code

var scripts = document.getElementsByTagName('script');
var script = scripts[scripts.length];
var parentNode = script.parentNode;
[/Quote]
动态插入广告啊,页面中的任何位置都可以插入,这时候肯定要判断再插入广告js的位置显示广告,你这还是默认把js作为最后一条了
迅捷微风 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

如果页面中只有一个script标签,这样是可以做到的,如果有多个script标签就做不到了,不知道这样做有什么意义.
JScript code

<div id="test">
<script id="a">
alert(document.getElementsByTagName("script")[0].parentNode.getAttribute("id"));
</script>
<……
[/Quote]

一个页面肯定很多js 啊, 比如动态插入广告啊,页面中的任何位置都可以插入,这时候肯定要判断再插入广告js的位置显示广告
  • 打赏
  • 举报
回复
如果不是动态生成的<script>可以这样

var scripts = document.getElementsByTagName('script');
var script = scripts[scripts.length];
var parentNode = script.parentNode;

IT-Style 2012-06-07
  • 打赏
  • 举报
回复
如果页面中只有一个script标签,这样是可以做到的,如果有多个script标签就做不到了,不知道这样做有什么意义.

<div id="test">
<script id="a">
alert(document.getElementsByTagName("script")[0].parentNode.getAttribute("id"));
</script>
</div>

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧