【发布时间】:2017-10-06 14:40:03
【问题描述】:
我正在使用 jQuery 从输入文本字段中删除不需要的 html 标记。这很好用,但是,当一个特殊字符作为 html 实体输入时,例如 ™(我想允许),我在动态 DOM 创建过程中收到以下错误:
语法错误,无法识别的表达式:...
™
想法是从文本字段中获取html字符串;从中创建一个 DOM 元素;然后,只删除不需要的标签。
像:<span>My <b>company</b></span> 这样的数据被清理到 My <b>company</b> ...我所期望的。
但是输入的数据如下:My <b>company</b> &trade; 中断
var s = jQuery(this).find('#new-topic').val();
var $s = jQuery(s); //this is where the error occurs
var $elements = $s.find("*").not("b, strong"); //get elements that are not <b> or <strong>
for (var i = $elements.length - 1; i >= 0; i--) {
var e = $elements[i];
jQuery(e).replaceWith(e.innerHTML);
}
var finalInput = $s.html();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="new-topic" type="text">
在这种情况下是否允许特殊字符?
【问题讨论】:
标签: jquery html dom special-characters