2014-10-02 100 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

相關問題