[英]How to remove blank space from array value with javascript-jquery?
我從數組中獲取一個數值,當我附加到 DOM 時,我在需要刪除的值之前得到一個空格。
結果應該是這樣的。 data-filter-class="["4"]"
for (var i=0, len=strArray.length; i<len; i++) {
thepost=String(strArray[i]);
thepost = thepost.split(",");
pid=thepost[9]
pid=String(pid)
pid=pid.replace(/\s+/g, '');
pid='["'+pid+'"]'
console.log(pid) // here I get ["4"]
然后我創建了一個這樣的變量
html +='<li data-filter-class="'+pid+'" class="test">'
console.log(html) // here I get <li data-filter-class="["4"]" class="test"> as I should
然后我將它附加到我的列表中。
但是當我在附加代碼后查看代碼時,我在值之前得到一個空格?
然后它看起來像這樣
<li data-filter-class="[" 4"]" class="test">
所以我得到的不是"["4"]"
而是"[" 4"]"
那么如何去除空格呢?
我終於得到了它的工作。 應該是'["4"]'
,我的錯誤!
pid='\'["'+pid+'"]\''
data-filter-class='+''+pid+''+'
它變成了data-filter-class='["4"]'
嘗試這個
str.trim().split(/\s*,\s*/);
或者
array = array.map(function (el) {
return el.trim();
});
我確定您的問題不在於修剪部分,請嘗試以這種方式創建 li 元素
let row=document.createElement("li");
row.setAttribute("data-filter-class",pid);
當前所需的<li data-filter-class="["4"]"
看起來不是一個好主意。 當我看到"["4"]"
它看起來好像有問題,因為外部引號與內部引號相同。 你確定它在一天結束時會讀成["4"]
嗎?
可能是解釋器看到"["4"]"
並將其讀取為兩個單獨的值"["
和4"]"
並因此插入一個空格?...誰知道。
我要么嘗試轉義內部引號以獲取它"[\\"4\\"]"
,或者,可能完全使用不同的內部引號: "['4']"
那么你的代碼會是這樣的:
pid='[\\"'+pid+'\\"]' // for eascaped double quotes inside
或者像這樣:
pid='[\''+pid+'\']' // for single quotes inside
但這必須檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.