2014-10-02 82 views
1

我正在查看两个列表中的数据。第一个列表包含错误的数据并引发未捕获的错误:语法错误,无法识别的表达式。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"));    
}); 

回答

1

你会解决,通过简单地引用的属性值

$("#listTwo li[data-info='" + $(this).data("info") + "']").data("infoTwo", $(this).data("infoTwo")); 
//      ^      ^
+0

可以将某些字符转义? – user53435245243 2014-10-02 19:38:20

+0

如果他们在数据中。 – user53435245243 2014-10-02 19:38:43

+0

不确定你的意思,但'$('[data-info = a/[%ref%*]]')'因为特殊字符而无效,而如果你引用它'' '[data-info =“a/[%ref%*]”]')'没关系。 – adeneo 2014-10-02 19:46:26

相关问题