2012-03-11 8 views
0

より良い解決策を探しています。は、Javascript(またはjQueryのようなDOMユーティリティ)でCDATAを読み込みます。 javascriptで直接CDATAにアクセスすることはできないようです。jQuery:CDATAの読み込みとアクセス

ここに私のスニペットだが、それは私の意見のために、非常に醜い:

<div id="becks" data-my-favorite="<![CDATA[ I like <br>German beer and busty woman]]>"></div> 

var text = $('#becks').data('myFavorite').split('<![CDATA[')[1], 
    text = text.split(']]>')[0]; 

    log(text) // "I like 
        German beer and busty woman" 
+1

(a) '.data( 'my-favorite')'はあなたが望むものに近いです。 (b)属性値内にCDATAを持つことはできません。 (通常、SGMLベースのHTMLでは、CDATAやPCDATA、あるいはオプションセットとして宣言されています.HTML5では何が起こるかわかりません) –

+0

は有効なHTMLですらありません。私はそれを修正することをお勧めします代わりにjQueryを曲げることでそれを回避しようとしています。 – Tomalak

+0

もちろん、「

」は有効なHTML5です! – mate64

答えて

0

方法についての代わりにデータ属性でHTMLエンティティを含む避けるために、再フレーミング問題?

<div id="becks" data-my-favorite="I like\nGerman beer and busty woman"></div> 

var text = $('#becks').attr('data-my-favorite').replace('\n','<br />'); 
関連する問題