我試圖使用jQuery來得到我的網頁元素表單元素:jQuery的獲取包含ID
元素:
<a href="path" id="form1:ctlName">
我試圖得到這樣和失敗的因素:
$('#form1:ctlName')
雖然這樣的工作:
document.getElementById('form1:ctlName');
問題是我需要只有jQuery的.css屬性。
任何人有任何想法如何獲得使用jQuery控件?
我試圖使用jQuery來得到我的網頁元素表單元素:jQuery的獲取包含ID
元素:
<a href="path" id="form1:ctlName">
我試圖得到這樣和失敗的因素:
$('#form1:ctlName')
雖然這樣的工作:
document.getElementById('form1:ctlName');
問題是我需要只有jQuery的.css屬性。
任何人有任何想法如何獲得使用jQuery控件?
問題出現在選擇器中的:
,因爲jQuery試圖將其解釋爲選擇器的擴展名。用於選擇器的冒號的一些用法是僞類:first
或:last
,您可以獲得這些選擇器擴展的完整列表,可以找到here。
嘗試這些選擇:
$("[id='form1:ctlName']"); //Method one, encapsulating the id
$("#form1\\:ctlName"); //Method two, escaping the colon
這裏的工作demo
注意根據this answer,在調用本地JavaScript方法getElementById(yourId)
將大約快10倍比其他方法,因此,如果性能是最重要的,你可能要考慮使用它。
嘗試了這一點
<a href="path" id="form1_ctlName">
$('#form1_ctlName')
剛剛替換:用_
:在jQuery選擇受到限制焦炭 檢查這個網址
逃生:用兩個「 \「
$('#form1\\:ctlName')
- 用一個「\」,它不起作用。 http://jsfiddle.net/m8Vrt/
- 隨着兩個「\」,它的工作原理http://jsfiddle.net/eQT6w/1/
@downvoter :爲什麼downvote? –
那是因爲「:」在jQuery的特殊含義。你應該逃避它。
$('#form1\:ctlName'); // Does not work
顯然,你應該用雙斜槓逃避它:
$('#form1\\:ctlName'); // Works
一個「\」不起作用,只有兩個「\」沒有 –
你是對的,編輯過。 –
比其他答案(通過所有元素循環檢查ID屬性)更好的性能,是這樣說的:
$(document.getElementById('form1:ctlName'))
jQuery只是一個包裝DOM元素的函數。你可以傳遞DOM元素給它,沒有問題。
從[** documentation **](http://api.jquery.com/category/selectors/):*「要使用任何元字符(如」!「#$%& '()* +,。/ :; <=>?@ [\] ^'{|}〜'')作爲名稱的文字部分,必須用兩個反斜槓進行轉義:''\\''。*。 「':'是一個元字符。 –
[處理元素id jquery冒號]的可能重複(http://stackoverflow.com/questions/5552462/handling-colon-in-element-id-jquery) –