如何在没有全部&被一个&
How to replace href url without having all & replaced by a &
我正试图用页面加载中计算的URL来替换一些空的href=""
语句。
然而,替换字符串包含几个&,需要在href中。
无论我尝试什么,只要使用了setAttribute("href", url);
或$(id).attr('href', url)
,所有&放大器被&
替换,并且链路失效。
我该如何防止这种情况发生?我敢肯定,任何以.href
结尾或包含href
的代码都将经历翻译阶段,并且都将失败。
您可能已经注意到,我已经编辑了很多次此消息,因为您根本无法键入完整的'&a m p;'在此框中,而不将其翻译为"&"这里也是
让我们退一步,从头开始思考这个问题。转义序列&xxx;
是将"特殊字符"嵌入HTML文档的方法。需要明确的是,它是一个HTML转义序列。
这种转义字符的方式很有用,因为这意味着字符可以放在ASCII文件中,否则就无法嵌入。
例如,可以使用表示其Unicode代码点€
的数字代码嵌入欧元符号(€
)。或者,可以使用其字符实体名称
嵌入非中断空间。(除此之外:这些字符更容易嵌入UTF-8文件中,不需要转义,但这与此无关)
现在,因为这个转义序列总是以"与"开头,这意味着HTML文档中的空"与"是不明确的——当浏览器浏览文档时,它不知道你是否想要一个实际的"与",也不知道是否会出现HTML实体的转义序列。为了消除这种歧义,如果你想在HTML文档中嵌入一个符号,那么你需要转义它
让我强调一下这句话:为了消除这种歧义,如果你想在HTML文档中嵌入一个符号和,那么你需要转义它。
因为这个转义只适用于HTML文档,所以如果您在.js
文件中编写Javascript,那么这个转义序列与您无关。你可以把你的安培数放在unscaped中,没有问题。这意味着,您的Javascript文件可以用空的符号替换URL,而不需要&
。
就浏览器而言,您编写的所有URL都只包含空的&符号。转义序列&
只需要以HTML形式来表达,一旦浏览器读取了HTML,就会忘记该转义序列。
我在这里重复了几次,但那是因为我试图让它尽可能清楚。
a
标记的href
属性之前,必须将url中的&
替换为&
。
var url = 'www.example.com?a=1&b=2'
url = url.replace(/'&/g, '&')
$('a').attr('href', url)
- Angular js-返回一个包含类似
- AngularJS&JSON-从Previous&下一个对象
- 指令的模板必须只有一个根元素:With restrict E&替换true
- 下载Div&画布为一个图像
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- Firefox将我转发到另一个网站,而不是在Drag&滴
- 检查上一个(-1&-2)url是否包含字符串
- 如何组合Datepicker&一个变量中的时间选择器
- Azure移动服务;插入到另一个表&呼叫'插入'剧本
- 有可能做一个日期&使用jquery ui的时间日历
- Jquery UI选项卡&选择方框-下一个/上一个按钮
- 上传PDF's使用Dropzone.js&拉拉维尔.有些上传成功,另一些则返回一个空对象
- d3js:创建一个可折叠的表&嵌套数据的问题
- 验证文本框&运行另一个函数javascript
- 淡入淡出&从另一个帧集中淡出对象
- 如何存储拖动&将项目放入cookie,然后在另一个页面中检索
- 获取纬度&将不同位置的经度值转换为一个值
- 获取&从一个简单的字符串格式化HTML标记
- 我怎么能在一个URL中有两种类型的参数,其中一种以“”开头#"而另一个以“0”开头&"并且不替