所以我用Zend Framework生成的表單來解決這個問題。Zend框架表單和jQuery選擇器 - 如何選擇... ID?
正如我們所知道的Zend使用這種格式的HTML元素的ID,即:contactDetails[name]
,contactDetails[email]
等
首先,爲什麼Zend公司使用無效 HTML生成表格?應該不存在括號[]
內的ID,根據W3C:
ID和名稱標記必須以 字母開頭([A-ZA-Z]),並且可以通過任何數量的字母,數字遵循 (「 - 」),下劃線 (「_」),冒號(「:」)和句點 (「。」)。
但真正的問題我已經是如何使用jQuery正確地選擇由id元素,如果我們必須處理無效,Zend公司生成的ID?
在標準的JavaScript這似乎工作:document.getElementById('contactDetails[email]')
。
但在jQuery中:$('#contactDetails[email]')
- 這顯然是錯誤的,因爲括號是爲屬性選擇器保留的。
我發現的簡單解決方法是將native-js選中的對象包裝到$()函數中: $(document.getElementById('contactDetails[email]'))
。使用這種方法,我可以在這個對象上使用所有的jQuery函數,但是這看起來像一個黑客解決方案......?
我剛剛試了一下,也沒有工作 – rochal 2009-11-25 12:03:22
@rochal - 最初我只放一個反斜槓請複製並粘貼以上,並試試看。 – karim79 2009-11-25 12:05:26
雙斜槓完美工作,非常感謝 – rochal 2009-11-25 12:08:31