2011-10-28 111 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所说的那样,这可能仍然没有任何东西。不知道什么(如果有的话)输入元素有实际的兄弟姐妹。