2016-05-22 17 views
-1

他のWebページのRedditから外部のコメントを表示するブラウザプラグインを作成してJavaScriptを実践しています。コメントは、この形式で来る:エスケープされたHTML文字列をJavascriptオブジェクトに変換する(No JQuery)

<div class="md"><p>I have them all over my yard. I didn't realize they spread so bad when I planted them. 
They look cool with early morning dew on them though.</p> 
</div> 

は私がHTML文字を再導入する必要がある(すなわち&lt;div&gt; =><div>)、ページ上にフォーマットされたHTMLを置くためです。

Javascriptが提供するネイティブ機能はありますか?

x = document.createElement("div"); x.innerHTML = rawCommentはHTMLがエスケープされているので、x = document.createElement("div"); x.innerHTML = rawCommentは機能しません。innerHTMLは一連のDOMノードの代わりに<div>という文字列を返します。

+0

これを研究するために何をしましたか?あなたは少なくともここで質問をする前に基本的な研究をしていると予想され、私は本当にあなたが始点を見つけられなかったと信じることが難しいと思っています – charlietfl

+0

私の研究はdocument.createElementに私をリードしますが、エンコードされたHTML値を使用します。あなたが質問に関して敵対的であることは奇妙です。実際、私はあなたのコメントがなぜ必要なのか全く分かりません。 – user3281384

+0

敵対的ではありませんが、ヘルプセンターを読むと、あなた自身が問題を解決するために何らかの努力をしていることが現状であることがわかります。これはコード作成サービスでも、* "how to *"チュートリアルサービスでもありません。これを解決するには数多くのアプローチがあり、このサイトの多くの類似の投稿があります – charlietfl

答えて

0

何をしようとするかもしれないことは以下の通りです:あなただけのブラウザの純粋なJavaScript関数を使用しているよう

// some dummy deocded text 
let encoded = '&lt;div class="md"&gt;&lt;p&gt;I have them all over my yard.&lt;/p&gt;&lt;/div&gt;'; 

// create a new textarea and insert your encoded text 
let dummyElement = document.createElement('textarea'); 
dummyElement.innerHTML = encoded; 

// retrieve the textarea's value, which will be your decoded text 
let decoded = dummyElement.value; 
// decoded will be: <div class="md"><p>I have them all over my yard.</p></div> 

Working Fiddle

これは、jQueryのなしに動作します。

+0

非常に賢い、Robin!私たちはテキストエリアを使用しているので、これは動作していると思いますよね?それは素晴らしい解決策です。ありがとう! – user3281384

関連する問題