[英]How to use string replace in a jquery for loop?
我正在嘗試從網址中刪除域名-但不確定具體如何。 這是我正在嘗試的方法,但是您可以看到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);
}
我在這里做錯了什么?
這是因為您的正則表達式與整個字符串匹配,而不僅僅是域名。
使用@Niet the Dark Absol在他的評論中建議的內容
v.url.replace(new URL(v.url).hostname, '');
如果只想使用路徑
a = new URL(window.location.href);
console.log(a.pathname);
就像@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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.