【发布时间】:2012-03-28 10:07:10
【问题描述】:
我正在寻找一个更好的解决方案,使用 Javascript 读取 CDATA(或像 jQuery 这样的 DOM-Utility)。用javascript直接访问CDATA似乎是不可能的。
这是我的 sn-p,但在我看来它很丑:
<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"
【问题讨论】:
-
(a)
.data('my-favourite')更接近你想要的; (b) 您不能在属性值中包含 CDATA,可以吗? (它们通常被声明为 CDATA 或 PCDATA 或选项集,至少在基于 SGML 的 HTML 中。不知道在 HTML5 中会发生什么。) -
<div id="becks" data-my-favorite="<![CDATA[...]]>"></div>甚至不是有效的 HTML。我建议你解决这个问题,而不是试图通过弯曲 jQuery 来解决它。 -
当然,
<div id="becks" data-my-favorite="<![CDATA[...]]>"></div>是有效的 HTML5 !
标签: javascript jquery cdata