任何人都可以告诉我如何编写javascript代码,删除html标记后的所有内容。
我有以下文件:
<html>
<head>
<script>
// my script
</script>
</head>
<body>
Some text
</body>
</html>
<script>
</script>
渲染输出不得包含最后一个脚本(或任何其他)标记。
答案 0 :(得分:3)
问题在于,在HTML之外,没有任何东西。您的结束</html>
会被移动以解决格式错误的HTML问题。以下是firebug显示您的示例的方式。
这意味着从javascript开始,无法知道哪个标记位于html之后。
答案 1 :(得分:3)
此代码等待页面加载,然后在</html>
使用firebug尝试后删除所有标记,您将看到。您需要在最后一个标记后的<div id="last"></div>
示例中创建一个占位符,然后删除剩余的标记。
<html>
<head>
<script type="text/javascript">
window.onload=function()
{
var body=document.getElementsByTagName('body')[0];
var found=false;
var cur=0;
for(var i=0; i<body.childNodes.length; i++)
{
if(body.childNodes[i].id=='last')
{
cur=i;
found=true;
}
else if(found && i>cur+1)
{
body.removeChild(body.childNodes[i]);
}
}
}
</script>
</head>
<body>
Some text
<div id="last">
</div>
</body>
</html>
<p>
Im not gonna show
</p>
<input/>
<script>
</script>
<b>
</b>
别忘了滚动!请享用!
奇怪的是,这里的代码格式化无法正常运行。这可能是我的错。
修改将我的变量重命名为body
答案 2 :(得分:1)
document.close();
document.open();
document.write("<html></html>");
答案 3 :(得分:0)
跟踪器通常在网站服务器转移到客户端时添加。
他们的代码如下:
&lt; / html&gt; &lt; script&gt;(功能跟踪器(){In Here})&lt; / script&gt;
浏览器将其更改为:
&lt; script&gt;(功能跟踪器(){In Here})&lt; / script&gt;
&lt; / body&gt;
&lt; / html&gt;