将URL替换为HTML Jquery

时间:2014-02-06 05:52:22

标签: javascript jquery html

我在我的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/”替换为空字符串。

4 个答案:

答案 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标志所示),字符串将不起作用。

此处有更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_Searching_With_Flags

答案 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,''));

http://jsfiddle.net/mUMwd/