出於某種原因,這個工程:如何將變量傳遞給jQuery查詢?
var oldText = $("#tayke li:eq(" + theIndex + ")").text();
但這並不:
var tayke_li = "#tayke li:eq(" + theIndex + ")"
var oldTest = $(tayke_li).text();
注:theIndex是一個整數。
出於某種原因,這個工程:如何將變量傳遞給jQuery查詢?
var oldText = $("#tayke li:eq(" + theIndex + ")").text();
但這並不:
var tayke_li = "#tayke li:eq(" + theIndex + ")"
var oldTest = $(tayke_li).text();
注:theIndex是一個整數。
這有什麼區別,如果你把分號在隨後行的結尾:
var tayke_li = "#tayke li:eq(" + theIndex + ")"; //<---
我已經建立了一個簡單的例子,它工作正常:
alert($("#tab1").length);
var s = "#tab" + String(1); //alerts "1"
alert(s); //alerts "#tab1"
alert($(s).length); //alerts 1
此外,使用String()
嘗試將theIndex
明確地轉換爲字符串。您是否仔細檢查了存儲的內容tayke_li
是否需要使用分號?
Do you recommend using semicolons after every statement in JavaScript?
What is the consequence of this bit of javascript?
這兩種方式都可以。我重做了它,它工作。 檢查變量和範圍的索引變量。嘗試將其替換爲硬編碼1
將jQuery版本信息添加到問題中,並且瀏覽器規範也不錯。
oldText!= oldTest是唯一的解釋,爲什麼這不應該工作恕我直言;)但這不是我作爲答案。 – naugtur 2010-02-12 13:33:18
嘗試
var oldText = $("#tayke li:eq("+parseInt(theIndex)+")").text();
或
var oldText = $("#tayke li").eq(theIndex).text();
你';第2行之前'錯過或者這只是一個錯字? – Darmen 2010-02-12 13:19:35
與第一個比較的另一個錯字是oldText變成了oldTest(* x - > s *)。如果你警告,看看它是否有效,它會失敗.. – 2010-02-12 13:22:28
當你說它不起作用,它只是沒有選擇你想要的或是代碼拋出一個錯誤? – 2010-02-12 13:26:01