我在我的html(s)页面中使用了静态http:// url,现在我想用空字符串替换。
这里假设是HTML内容:
<div id="MSO_ContentTable">
<script type='text/javascript'>
function RedirectURL(RedUrl,curTab)
{
window.location.href='http://www.contoso.com/Sales/SitePages/'+RedUrl;
}
function nav2Lib(RedUrl)
{
NavigateHttpFolder('http://www.contoso.com/Sales/RFP%20Bank/'+h3url, '_blank');
}
function nav2Proposal(RedUrl)
{
NavigateHttpFolder('http://www.contoso.com/Sales/Proposals/'+h3url, '_blank');
}
</script>
........ lots of html contents
</div>
$('#MSO_ContentTable').html().replace(/http://www.contoso.com/g,'');
我想将整个网址“http://www.contoso.com/”替换为空字符串。
答案 0 :(得分:1)
在您的情况下,替换并不需要使用正则表达式(这是一个简单的替换)。
此外,在您的代码中,您从表中获取 html,对其执行操作,但之后永远不会将结果字符串设置为表格的html。
试试这个:
$('#MSO_ContentTable').find([href^="http://www.contoso.com"]).each(function(){
var href = $(this).attr('href');
$(this).attr('href', href.replace('http://www.contoso.com', '');
});
它找到表的所有子节点,其href以http://www.contoso.com`开头,然后用空字符串替换每个href。
答案 1 :(得分:1)
正则表达式中的斜杠需要转义:/http:\/\/www.contoso.com/g
。或者,replace方法可以使用字符串而不是正则表达式:
var txt = $('#MSO_ContentTable').html().replace('www.contoso.com','');
值得注意的是,在这里使用字符串在技术上是不同的。看起来在这种情况下,只有一个替换,但如果你真的想要替换模式的每个实例(如g
标志所示),字符串将不起作用。
答案 2 :(得分:1)
试试这个。我认为你需要escape two forward slashes
就是这样。
$('#MSO_ContentTable').html().replace(/http:\/\/www.contoso.com/g,"");
答案 3 :(得分:0)
您的代码正常运行,
你可以查看小提琴。
var txt = $('#MSO_ContentTable').html();
alert(txt.replace(/www.contoso.com/g,''));