我试图从网址中删除域名 - 但不确定具体如何。这是我正在尝试的,但你可以看到console.log在第二次尝试时没有显示任何内容。
function show_records(data) {
let html = "";
$.each(data, function(k, v){
console.log(v.url) // returns full urls eg. https://google.com
v.url = v.url.replace(/https?:\/\/[^\/]+/i, "");
console.log(v.url) // returns nothing
html += `<input type="radio" name="${v.url}" /> ${ v.url }<br />`
})
html+='</div></div>'
$('.editviewm').append(html);
}
我在这里做错了什么?
答案 0 :(得分:0)
这是因为你的正则表达式匹配整个字符串而不仅仅是域名。
使用Dark Absol在评论中建议的@Niet
v.url.replace(new URL(v.url).hostname, '');
如果您只想使用路径
a = new URL(window.location.href);
console.log(a.pathname);
答案 1 :(得分:0)
作为@Niet the Dark Absol建议,您不需要为了获得主机名而执行更多代码。
function show_records(data) {
let html = "";
$.each(data, function(k, v){
var url = new URL(v.url);
console.log(url.hostname);
html += `<input type="radio" name="${url.hostname}" /> ${ url.hostname }<br />`
})
html+='</div></div>'
$('.editviewm').append(html);
}