我正在使用 . 我一直在从这些字符串中剥离 html,如下所示:
var comb = $(qu1[i].title + qu1[i].content).text()
我遇到了这样的字符串问题:San Diego Zoo's Animal Bytes:
,它返回语法错误。我不确定为什么 jquery 对这个字符串有问题。
知道我该如何处理吗?
我正在使用 . 我一直在从这些字符串中剥离 html,如下所示:
var comb = $(qu1[i].title + qu1[i].content).text()
我遇到了这样的字符串问题:San Diego Zoo's Animal Bytes:
,它返回语法错误。我不确定为什么 jquery 对这个字符串有问题。
知道我该如何处理吗?
因为它不是选择器,并且较新版本的 jQuery(1.9+)不再解析不以<
. 尝试:
var comb = $('<div>').append($.parseHTML(qu1[i].title + qu1[i].content)).text();
$.parseHTML
在 jQuery 1.8+ 中可用并有助于防止 XSS(这不会剥离所有 JS,只有脚本标签。onevent
保留属性)。不过,如果来源值得信赖,您可以直接附加 html。我更愿意站在更安全的一边。=]
基本上,代码会动态创建一个元素 ( div
) 并附加干净解析的标记,然后检索其文本表示。我不能声称原创性,类似的方法显示在如何使用 jQuery 解码 HTML 实体?和许多其他线程。
由于没有保留对div
元素及其包装 jQuery 对象的引用,因此 GC 将非常快地收集这些引用。
参考:
jQuery Core 1.9 升级指南 -jQuery(htmlString)
对比jQuery(selectorString)