2012-12-06 171 views
2

這是後續問題。構建選擇器時爲什麼會出現語法錯誤

完全鍵入的第一個選擇器找到值,即使它們「看起來」相同,所有其他選擇器也會給出語法錯誤。

$(".smoothie").on("mouseover", function(event) { 
      // .. other code 

      // first  
      value = $(".row_2.tuesday .e_1.current_Status .smoothie_Text").attr("value"); 
      alert(value); 

      // second 
      selector = "\'.row_2.tuesday .e_1.current_Status .smoothie_Text\'"; 
      alert(selector); 
      value = $(selector).attr("value"); 

      //third 
      value = $("\"." + row_Classes[0] + "." + row_Classes[1] + " ." + container_Classes[0] + "." + container_Classes[1] + " .smoothie_Text\"").attr("value"); 
      alert(value); 
      //.. other code 
}).svg({loadURL: '../_public/_icons/smoothie.svg'});  

請問一些人,請告訴我做錯了什麼。

編輯

從控制檯錯誤是:

Error: Syntax error, unrecognized expression: ' [Break On This Error]

throw new Error("Syntax error, unrecognized expression: " + msg);

這一點我們從昨天的查詢知道是從噝噝聲。

+0

它們並不相同,第二和第三選擇符都被引號包圍。你不應該在選擇器周圍使用引號。 –

+1

你爲什麼要逃避字符串中的引號? – tborychowski

+0

@tborychowski一個更好的問題是爲什麼引用是在那裏。第三個例子事實上確實需要轉義報價。 –

回答

3

您的第二個和第三個字符串都在末尾包含引號。選擇器不應該在結尾處包含引號。這很簡單。

+0

是的,看着這個長了一大堆。看不出爲什麼。謝謝。 – codepuppy

3

嘗試通過刪除\',所以它應該像下面

// second 
selector = ".row_2.tuesday .e_1.current_Status .smoothie_Text"; 

沒有必要在你選擇的代碼\'

+0

看上面的評論 – codepuppy

0

嘗試刪除斜槓\和單引號'

 selector = ".row_2.tuesday .e_1.current_Status .smoothie_Text"; 
     alert(selector); 
     value = $(selector).attr("value"); 

     //third 
     value = $(row_Classes[0] + "." + row_Classes[1] + " ." + container_Classes[0] + "." + container_Classes[1] + " .smoothie_Text").attr("value"); 
     alert(value); 
相關問題