2015-05-07 50 views
0

我正在尝试使用JavaServer Pages(.jsp)的网站的restyle元素,但无需设置功能齐全的环境。所以,我有这使在.jsp文件有一个模板文件:使用JavaScript查找和隐藏文本

<!--#include virtual="fileDirectory/file.jsp"--> 

能正常工作,我需要什么,但问题是有行代码中,看起来像这样的.jsp文件:

<%@ taglib uri="front" prefix="front" %> 

这些行只是渲染为文本,并且完全搞乱了布局。有没有办法使用JavaScript或jQuery来选择以<%@开头并以%>结尾的字符串,以便我可以隐藏它们?

+0

我会看看正则表达式 –

+0

你为什么不删除? – Pratik

+0

我无法删除它们,因为它们将被重新上传到服务器,并且有将近700个这些文件! – RDonn

回答

0

试试这个。它将替换body html中以<%@开头并以%>结尾的所有部分。

$("body").html(function(i, html) { 
    return html.replace(/&lt;%@[^%>]+%&gt;/gi, ""); 
}); 

DEMO

+0

谢谢,正是我所需要的! – RDonn

0

你可以使用一个TreeWalker遍历文本节点并替换任何包含 '%@ taglib伪...':

(function walk() { 
 
    var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false); 
 
    var node; 
 
    while(node = walker.nextNode()) { 
 
     if(node.nodeValue.indexOf("%@ taglib")>0){ 
 
      node.nodeValue = ""; 
 
     } 
 
    } 
 
})();
<b>abc</b> 
 
<%@ taglib uri="front" prefix="front" %> 
 
<b>def</b>