2017-08-10 4 views
-2

JavaScriptで表示するタイトルテキストを取得しようとしていますが、文字列全体が表示される問題があります。HTMLタイトルのツールヒントが空白の後で切り取られる

私が表示しようとしているテキストは:

機械:

`<td title="mechanical" :="" failed="" to="" copy="">mechanical : Failed to copy</td>` 

その後表示される実際のタイトル:

のコピーに失敗しましたそして、ここにあるHTMLに表示するものちょうどmechanicalです。 JavaScriptで

var copyResult = json_obj[i].CopyResult; //variable that contains the text 
copyResult = copyResult.replace(/["{}]/g, " "); //regex that removes some characters and replaces them with spaces 

copyResult変数は、その後、私はしたい要素に追加されます。

タイトル属性に "ends"というスペースがあるように見えるので、ブラウザは残りのテキストでより多くの属性を作成しようとします。

これを修正するにはどうすればよいですか?

+0

よくタイトルは機械的に引用符で囲まれています。何かが空白で止まるより引用されていない場合.... – epascarello

答えて

0

私は回避策を作成することができたようにバックスラッシュでそれらをエスケープしてみてください。 スペースはtitle属性を終了するので、私は単純にcopyResult変数のすべてのスペース文字を適切にエスケープするために正規表現を使用しました。

var copyResult = copyResult.replace(/[ ]/g,"\u00a0") 

\u00a0Unicode character for NO-BREAK-SPACEです。

+0

なぜあなたは属性を引用していませんか?それがバグです! – epascarello

+0

文字列が引用符なしで挿入されているため、挿入する必要がある文字列の値を変更できません。 – Thassa

+0

変数を使用するコードを変更することはできません?? – epascarello

0

それはatributeを終了するスペースはありませんが、その引用符は... \"

+0

実際には引用符をhtmlエンティティコード '' '"' '' –

+0

で置き換えなければならないと思います; –

+0

引用符はありませんタイトルの属性に入れているテキストの印。私が持っている唯一の文字列は '機械的です:コピーするのに失敗しました' – Thassa

関連する問題