<script>var a = Math.random()</script>
<div>
<script>
//这里的要点是需要获取到当前的script标签
//或者是这个script标签的父亲(div)
//1 直接获取到div
var all_div = document.getElementsByTagName('div')
var div = all_div[all_div.length - 1]
div.id = a
//这个是利用了html代码加载执行时的顺序从上到下
//而在这个script里代码执行的时候恰好解析到
//最后一个div就是我们想要的div 所以直接查找所有的div
//然后取最后一个div就是这个标签的父亲(div)
//2 获取当前执行的script标签,然后取它的父亲
function getCurrentScript(){
if(document.currentScript){
return document.currentScript
}
var scripts = document.getElementsByTagName('script')
return scripts[scripts.length - 1]
}
var script = getCurrentScript()
var div = script.parentNode
div.id = a
//这个是查找当前正在执行的脚本的标签
//新版浏览器会有支撑的属性 currentScript
//旧版本的话,就只好查找所有脚本,然后返回最后一个
</script>
</div>
</body>
这个是关于DOM的知识里的内容,是一个节点的parentNode成员e.g. aNode.parentNode返回父节点
最常用的用法就是node.parentNode.removeChild(node)
删除某节点node
<div><button onclick="dosell(this)">确定</button>
</div>
<script>
function dosell(item){
var parentNode=item.parentNode
alert(parentNode.tagName) //这里将会弹出DIV
}
</script>
如上,按钮上点击要加一个参数dosell(this)