我正在使用jQuery从输入文本字段中删除不需要的html标记。这工作得很好,但是,当一个特殊字符输入为HTML实体,如™
(这是我想要让)我在飞行DOM创建过程中得到以下错误:特殊字符中断从HTML字符串创建jQuery DOM
语法错误,无法识别的表达式: ..
™
想法是从文本字段中获取html字符串;从中创建一个DOM元素;然后,只删除不需要的标签。
像这样的数据:<span>My <b>company</b></span>
被清理到My <b>company</b>
...我期望。
但是输入的数据,如:My <b>company</b> ™
休息
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">
反正是有允许在这种情况下,特殊字符?