这是我的代码:
function insert(){
var loc_array = document.location.href.split('/');
var linkElement = document.getElementById("waBackButton");
var linkElementLink = document.getElementById("waBackButtonlnk");
linkElement.innerHTML=loc_array[loc_array.length-2];
linkElementLink.href = loc_array[loc_array.length];
}
我想要 linkElementLink.href
获取数组中除最后一项以外的所有内容。现在它坏了,它之前的项目得到倒数第二个项目。
原文由 balexander 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
pathname
优先于href
仅检索链接的路径部分。否则,如果有?query
或#fragment
后缀,或者路径是/
(abb72).–,你会得到意想不到的结果。(但是,当然你可以说:)
不要这样做:
从任意字符串设置 HTML 是危险的。如果您获取此文本的 URL 包含 HTML 中的特殊字符,例如
<
和&
,用户可以注入标记。如果您可以在 URL 中获得<script>
(您不应该这样做,因为它无效,但无论如何某些浏览器可能会让您这样做),您就会遇到跨站点脚本安全漏洞。要设置元素的文本而不是 HTML,请使用
document.createTextNode('string')
并将其附加到元素,或者分支代码以使用innerText
(IE) 或textContent
(其他现代浏览器)。