例如:
<div class='blah'>
<script>
$('.blah').remove();
</script>
</div>
修改
好的,我为此得到了很多投票。我宁愿知道这是不是一个好主意,但由于这是主观的让我问:javascript如何处理一个删除自己的函数?
答案 0 :(得分:3)
是的,你可以 - &gt; http://jsbin.com/ososuh/1
您还可以定义函数,稍后您将调用它。我想它是在解析内存时添加的,可以在以后调用它。以前没试过,但必须承认它很有趣; - )
答案 1 :(得分:1)
首先,你永远不应该像这样放置你的javascript内联。对于网络优化而言,这是不好的做法和糟糕的做法。第二,当然,为什么不呢?
如果您以某种方式绑定到该元素,您仍然可以删除HTML,但它不会删除实际的脚本函数本身。
$('.blah').bind('click', function () {
$(this).remove();
}
答案 2 :(得分:0)
是。如果函数并不意味着它们之后将被定义,但您可以非常自由地从JavaScript修改DOM。
答案 3 :(得分:0)
查看Do browsers parse javascript on every page load?
的答案例如:
Chrome:V8引擎
V8有一个编译缓存。这使用a存储编译的JavaScript 最多5个垃圾收集的源的哈希值。这意味着 两个相同的源代码将共享内存中的缓存条目 不管他们是如何被包括在内的。此缓存不会被清除 页面重新加载。
因此,如果您在Chrome中点击F5,它将检测(通过散列脚本标记内容的文本)它已经解析并编译成本机代码的这段JavaScript代码。所以它只会执行它。
由于这段已编译的JS代码与DOM(在内存的不同部分)分离,因此它也可以操纵代表自身的DOM元素。至少这就是我理解工作的方式。