sus*_*its 11 javascript jquery
是否可以使用jQuery来代替脚本标记来回显文本?更准确地说,有没有办法实现
<script type="text/javascript">
document.write("foo");
</script>
Run Code Online (Sandbox Code Playgroud)
......没有使用document.write?document.write阅读本文后,我对使用感到不满意.
我知道我可以选择这样做:
<span id="container"></span>
<script type="text/javascript">
$("#container").text("foo");
</script>
Run Code Online (Sandbox Code Playgroud)
但是,我很想知道是否有一种方法可以在不使用容器元素的情况下完成,最好使用jQuery.
提前致谢!
如果你想出一个jQuery方法document.write(),那么出于同样的原因它会很糟糕.
你最好只使用document.write()你需要的东西,或者更好的是,操纵一个现有元素或在DOM中的某个地方附加一个新元素 - 这就是jQuery所擅长的.
是的,也不是。对于你想要的,不。
您可以让它在没有真正容器的情况下将文本回显给某些内容吗?是的(请参阅:DocumentFragment)。
它会出现在您的文档中吗...不。这是因为还没有告诉它应该放置在哪里。html 中的脚本标签不会直接保持其作为参数的位置,因此您可以四处寻找最后一个标签并将 TextNode 放在那里,但是,这可能很困难且存在错误。
您可以做的是一般做法,即在发生诸如“document.body.onLoad”之类的事件之前不要修改 dom。这是一种常见的做法,通常是 ajax 的最佳选择。
如果这些都不适合您,请使用罕见的 insertBefore(),jquery 在带有 id 的脚本元素上提供与 .after 和 .before 类似的支持。
<script id="flail">
var flail=document.getElementById("flail");
flail.parentNode.insertBefore(document.createTextNode("TEST"),flail)
</script>
Run Code Online (Sandbox Code Playgroud)
注意:这通常是一个不好的做法,因为它可能会产生悬挂负载,并且如果没有此输出,就会导致 html 页面不连贯。然而,就像所有的事情一样,它也有使用的情况。
| 归档时间: |
|
| 查看次数: |
67434 次 |
| 最近记录: |