簡體   English   中英

如何在循環的jQuery中使用字符串替換?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM