javascript函数可以删除包含它的html元素吗?

时间:2013-03-12 21:21:40

标签: javascript jquery html

例如:

<div class='blah'>
    <script>
        $('.blah').remove();
    </script>
</div>

修改

好的,我为此得到了很多投票。我宁愿知道这是不是一个好主意,但由于这是主观的让我问:javascript如何处理一个删除自己的函数?

4 个答案:

答案 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元素。至少这就是我理解工作的方式。