簡體   English   中英

如何使用javascript-jquery從數組值中刪除空格?

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

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