如何访问Input元素的HTML

时间:2011-10-28 11:41:23

标签: javascript jquery

您好我正在尝试获取INPUT标记的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);

但我无法访问此内容。请帮帮我...

2 个答案:

答案 0 :(得分: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)

您可以尝试访问RAW底层DOM元素并使用其innerHTML属性。

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

但是就像Pointy所提到的那样,那可能仍然没有让你失望。不确定什么(如果有的话)输入元素有实际的兄弟姐妹。