2016-05-05 5 views
1

li IDで動作しないスペース区切りになるため、displayNameの名前をConcatしたいと思います。たとえば、表示名が「商品タイプ」または「ダイID」空白で区切られたConcat値のJQueryの方法

+0

は 'スプリットを()'を使用しますと、それらを結合します名前

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

から離間削除し、これを試すことができます? – 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

uはすべてのそれはウルのデータに離間すべて(表示名)を削除しますとid

関連する問題