Jquery未捕获错误:语法错误,无法识别的表达式,我可以检测并跳过它吗?
问题描述:
我正在查看两个列表中的数据。第一个列表包含错误的数据并引发未捕获的错误:语法错误,无法识别的表达式。Jquery未捕获错误:语法错误,无法识别的表达式,我可以检测并跳过它吗?
如何检查这些不良数据并继续执行我的代码?另一种选择可能会记录错误并继续?
是否有某种方法可以检测到一般错误,还是需要检查每个字符的数据?
两个html列表。
//$("#listOne > li").first(); has the bad data in the data-info attribute.
<ul id="listOne">
<li data-info="a/[%ref%*]" data-infoTwo="x">One</li>
<li data-info="b" data-infoTwo="y">Two</li>
<li data-info="c" data-infoTwo="z">Three</li>
</ul>
<ul id="listTwo">
<li data-info="a">One</li>
<li data-info="b">Two</li>
<li data-info="d">Four</li>
</ul>
jQuery的
$('#listOne li').each(function() {
$("#listTwo li[data-info=" + $(this).data("info") + "]").data("infoTwo", $(this).data("infoTwo"));
});
答
你会解决,通过简单地引用的属性值
$("#listTwo li[data-info='" + $(this).data("info") + "']").data("infoTwo", $(this).data("infoTwo"));
// ^ ^
可以将某些字符转义? – user53435245243 2014-10-02 19:38:20
如果他们在数据中。 – user53435245243 2014-10-02 19:38:43
不确定你的意思,但'$('[data-info = a/[%ref%*]]')'因为特殊字符而无效,而如果你引用它'' '[data-info =“a/[%ref%*]”]')'没关系。 – adeneo 2014-10-02 19:46:26