2012-02-21 42 views
1

我有一個空的表格,其單元的ID已被分配jQuery的.load不適用於這個例子

例如,

<td id="se/sv-1">&nbsp</td> 

然後,我已經定義了一下按鈕,像這樣

<a href="#" alt="PreSurf" id="submit"><img src="go.png"></a> 

在底部(很重要?)的頁面,但仍然身體內,我有以下腳本

$(document).ready(function() { 
    $("a").click(function(event) { 
     event.preventDefault(); 
    }); 
    $("a#submit").click(function(event) { 
     $("#se/sv-1").load("psurl.php?server=someserver.somehost.com&url=/se/sv&port=80"); 
    }); 
}); 

然而,它不會加載點擊...我已經測試了網址(顯然主機名被改爲保護無辜者),它的工作原理與它應該完全相同......我通過用簡單的警報替換.load行進行了測試( 'booya');它的工作尚未。負載不

任何想法?

+2

我會盡量避免斜槓和其他特殊字符在dom id的。這可能是一個問題,不知道jquery如何處理它... – giorgio 2012-02-21 12:12:12

+0

在ID中是否允許'/'? – Marwelln 2012-02-21 12:13:01

+1

@Marwelln HTML5允許。如果在選擇器中使用了正確的轉義,jQuery將處理得很好。 – kapa 2012-02-21 12:21:30

回答

4

使用$("#se\\/sv-1")而不是$("#se/sv-1")

如果你希望使用任何的元字符(如 !「#$%&「()* +,。/ :; < => @ [] ^`{|}〜)作爲名稱的文本部分,則必須 以兩個反斜槓逃脫字符?:\\

http://api.jquery.com/category/selectors/

+0

你知道這件事很簡單,我討厭它。如果我已經對其他包含a的id進行了另一次更正,我更討厭它。 :)當你在9分鐘內完成荒謬可笑的時間限制時,你會得到你的正確答案...... :) – Seer 2012-02-21 12:16:43

+1

經驗是祕密..當我看到'/'時,我有一種懷疑。我測試了我的建議並且爲你寫了:) – Ashraf 2012-02-21 12:20:40

0

不要在ID中使用正斜槓。如果你必須記得逃避它。

$("se\\/sv-1") 
+0

你當然是對的......這很麻煩,但是從php函數提供的值。想想我會重寫函數來刪除斜線,因爲它對結果沒有任何影響。 – Seer 2012-02-21 12:20:20

相關問題