2016-05-05 47 views
1
facetHtml + = "<li id=" + data.facets[key].displayName + "><h3>" + data.facets[key].displayName + "</h3>"; 

我想Concat的顯示名稱的名稱,因爲它來的空間分隔,這將無法在li Id工作。例如顯示名稱爲「產品類型」或「沖模ID」jquery如何Concat價值被空間分隔

+0

使用'分裂()'並將它們組合? – guradio

+0

問題不在於串聯(問題在於'id'屬性不能有空格。您需要刪除這些空格或用另一個字符替換它們。 –

+1

你可以使用'.replace(「」,「」)' - 用'displayName'中的空格代替空格 – Bhumika107

回答

1

的問題不是串聯(這是工作的罰款)問題是,id屬性不能有空格。

你需要或者刪除這些空間

facetHtml + = "<li id=" + data.facets[key].displayName.replace(/\W/g, '') + "><h3>" + data.facets[key].displayName + "</h3>"; 

或者用其他字符替換它們。

facetHtml + = "<li id=" + data.facets[key].displayName.replace(/\W/g, '-') + "><h3>" + data.facets[key].displayName + "</h3>"; 

注意的是,使用正則表達式在這裏(/\W/g)將捕獲和在字符串中替換所有空間。在空間上使用簡單替換(' ')將僅替換第一個實例。

+0

爲什麼不使用.replace(「」,「」) –

+0

@SachinPrasad在我的答案底部看到註釋。例如:https://jsfiddle.net/tp263cpm/1/ –

0

「ID」不應包含空格。

考慮在處理之前使用.trim(x)或.replace(x,y)刪除空格。

0
data.facets[key].displayName.split(" ").join('') 
+1

請澄清您的答案,而不是僅僅構成代碼片段。類似這樣的答案傾向於被降低投票和/或被刪除。 –

0

使用此

data.facets[key].displayName.replace(" ", ""); 
+0

這可能是正確的答案,但在您的答案中添加一些說明而不是僅發佈代碼段被認爲是一種好的做法。類似這樣的答案傾向於被降低投票和/或被刪除。 –

+0

@MarkoPopovic感謝你評論我會改善你的評論 – Zeros

0

ü可以試試這個刪除所有來自名稱間隔

facetHtml + = "<li id=" + data.facets[key].displayName.replace(/\W/g, '-') + "><h3>" + data.facets[key].displayName + "</h3>"; 

它會刪除在烏爾數據(顯示名稱)的所有間隔,並會使ID