2011-10-28 159 views
0

嗨我想獲得輸入標記的HTML。但無法..如何訪問輸入元素的HTML

<input type="checkbox" name="_QS4_CNA" id="_Q0_C7" class="mrMultiple" value="NA">  
    <label for="_Q0_C7"> 
    <span class="mrMultipleText" style="">None of these</span> 
    </label> 
</input> 

,我試圖訪問的

var dat=$(':checkbox#_Q0_C7').html(); 
alert(dat); 

但我不能訪問此。請幫助我..

回答

5

「.html()」方法獲取元素的內容,而不是元素本身。在你的情況下,問題是你的HTML是無效的。 <input>標籤不能包含內容。就瀏覽器而言,標籤在<label>標籤開始的地方結束,瀏覽器只是忽略結束標籤。請注意,如果您有一個「id」屬性用於查找元素,則不需要選擇器中有任何其他限定符(如「:checkbox」)。只需「#_Q0_C7」即可,因爲無論如何,「id」值必須是唯一的。

編輯 —請注意,如果你想要的是得到一些屬性(如值或「選中」狀態)的元素,你當然可以這樣做:

var $cb = $('#_Q0_C7'); 
var isChecked = !!$cb.prop('checked'); // force a real boolean value 
var value = $cb.val(); 
+1

+1''id「的值必須是唯一的' – Deeptechtons

+0

我想他想得到一個複選框的值.. – Nick

+0

這可能是真的,但沒有什麼問題會產生這種問題。不過,我會將其添加到答案中。 – Pointy

1

你可以試試訪問RAW底層DOM元素並使用其innerHTML屬性。

var dat = $(":checkbox#_Q0_C7")[0].innerHTML; 

但正如Pointy所說的那樣,這可能仍然沒有任何東西。不知道什麼(如果有的話)輸入元素有實際的兄弟姐妹。