我正在尝试解析表单的某些元素。
我有表格ID /表格名称。
现在我想通过name =“radio123”(或id =“radio123”)解析所有单选按钮。 但是当我在每个元素(单选按钮)上尝试$(this).html时......然后我得到一个空值......
如何访问表单中所有单选按钮/复选框的HTML代码?
答案 0 :(得分:0)
这样的事情应该有效 -
var htmlarr = [];
$("input[type='radio'][name='radio123'],[type='radio'][id='radio123']").each(function () {
//any logic you need here
htmlarr.push($(this).clone().wrap('<div>').parent().html());
})
演示 - http://jsfiddle.net/tJ2Zc/
代码使用此方法$(this).clone().wrap('<div>').parent().html()
来获取DOM元素的外部HTML。可以在问题中找到更多信息 - Get selected element's outer HTML
上面的代码将所有单选按钮html写入数组,但您可以将其更改为在循环中执行您希望的操作。
答案 1 :(得分:0)
这是jQuery.fn.html函数的正常行为:This method uses the browser's innerHTML property.
如果您不明白我的意思,请查看示例。
我不知道为什么要获取HTML(如果你想要值,请查看jQuery.fn.val方法),但这是一个解决方案
$("input:radio").each(function () {
console.log( this.outerHTML );
});
注意outerHTML,因为在所有浏览器中都不支持使用此功能:
function getOuterHTML( node ) {
var parent = node.parentNode,
el = document.createElement( parent.tagName ),
shtml;
el.appendChild( node );
shtml = el.innerHTML;
parent.appendChild( node );
return shtml;
}
// use it like getOuterHTML( this ) in the preceding each loop