在正文中查找特定文本并通过JS删除它

时间:2014-06-26 07:40:17

标签: javascript jquery html

我在APX中通过C#代码创建HTML和ASPX文件一切正常但在HTML页面中它附加了aspx标签,该标签在正文中显示为纯文本。我想删除正文中以<%开头并以%>

结尾的任何文字

这里是生成的html

<body>
   <center>
 <%String action = "http://" + Request.Url.Authority+"/ABC/Data/a12.aspx" ; %>
     <div>
        <form>
          // some input fields and a submit button
        </form>
     </div>
   </center>
</body>

我试过了

document.body.innerHTML = document.body.innerHTML.replace( <%String action = "http://" + Request.Url.Authority+"/ABC/Data/a12.aspx" ; %>, "");

但对我来说没有用,因为生成的aspx标记始终不一样..

3 个答案:

答案 0 :(得分:1)

在此代码中:

document.body.innerHTML = document.body.innerHTML
    .replace( <%String action = "http://" + Request.Url.Authority+"/ABC/Data/a12.aspx" ; %>, "");

你是:不使用字符串作为第一个参数,这是无效的。

我建议您使用匹配&lt;%[anything]%&gt;的正则表达式。

像这样:

document.body.innerHTML = document.body.innerHTML
    .replace(/<%.*%>/g, "");

答案 1 :(得分:0)

通过使用正则表达式,我想这应该给你需要的东西:

<script>
  document.body.innerHTML = document.body.innerHTML.replace(/(<%).*(%>)/ig, '');
</script>

答案 2 :(得分:0)

代码渲染块不应该在HTML页面中呈现,除非您错误地使用它们。尝试按如下方式修改标记:

<body>
   <center>
     <div>
        <form action='<%= "http://" + Request.Url.Authority + "/ABC/Data/a12.aspx" %>'>
          // some input fields and a submit button
        </form>
     </div>
   </center>
</body>