如何使用jQuery在URL中编码&符号

时间:2012-07-26 01:15:21

标签: jquery html urlencode ampersand

我有一些URL被动态输出到包含&的div上,如下所示:

<div id="box">
    <a href="http://domain.com/index.html&location=1">First URL</a> 
    <a href="http://domain.com/index.html&location=2">Second URL</a>
</div>

是否有一种方法 - 使用jQuery - 将&的每个实例转换为等效的HTML实体,以便输出成为这个?

<div id="box">
    <a href="http://domain.com/index.html&amp;location=1">First URL</a> 
    <a href="http://domain.com/index.html&amp;location=2">Second URL</a>
</div>

2 个答案:

答案 0 :(得分:2)

$('#box a').each(function(){
  $(this).attr('href', $(this).attr('href').replace('&','&amp;'));
  });

答案 1 :(得分:2)

  

这将循环遍历文档中存在的所有a标记,并将href属性中的所有特殊字符替换为html实体

$('a').each(function(){
    $(this).attr('href',htmlEncode($(this).attr('href')));
    console.log($(this).attr('href'));
});


function htmlEncode(value){
  return $('<div/>').text(value).html();
}

Working demo


  

循环浏览所有a代码并仅替换&amp;符号:

$('a').each(function(){
    $(this).attr('href',$(this).attr('href').replace('&','&amp;');
    console.log($(this).attr('href'));
});