2014-12-09 22 views
0

大家可否請讓我知道是否有什麼辦法刪除所有的特殊字符& nbsp;在網站的所有html頁面中的所有HREF中都有空格或「%20」?下面是我想要的代碼片段,卻徒勞無功如何在所有html頁面中一次性用空格或%20替換?

$(function(){ 
       var corruptedUrls = $("a[href*=' ']"); 
     for(var url in corruptedUrls) 
     { 
      var urlHref = url.attr("href"); 
      var modifiedUrlHref = urlHref.replace(" ", "%20"); 
      url.attr("href", modifiedUrlHref); 
      } 

     }); 
+0

一個全球性的比賽http://stackoverflow.com/questions/7620669/jquery-replace-all- HTML,也許這可以幫助你一點點。 – Erki 2014-12-09 12:11:06

回答

0

嘗試使用\s作爲一個模式來匹配任何種類的空格。
+使用.each()爲循環直通元素
+使用/pattern/greplace()

$(function() { 
 
    var corruptedUrls = $("a[href*='\u00a0']"); 
 
    corruptedUrls.each(function() { 
 
    var urlHref = $(this).attr("href"); 
 
    var modifiedUrlHref = encodeURIComponent(urlHref.replace(/\s/g, ' ')); 
 
    $(this).attr("href", modifiedUrlHref); 
 
    $('#log').html(modifiedUrlHref); 
 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="hello this is a url">a</a> 
 
<a href="hello&nbsp;this&nbsp;is&nbsp;an&nbsp;other&nbsp;url">a</a> 
 
<div> 
 
result: <pre id="log"></pre> 
 
</div>