据我所知,HTML 元素属性的实际顺序可以由浏览器解释,因此没有可靠的方法来确定您是否正在处理<input type="radio" name="Q_209" value="A" checked>
或<input checked="true" name="Q_209" value="A" type="radio">
for ... in
但是,您可以使用语句获取元素的所有属性和值:
var foo = document.getElementById('form_id')['Q_209'];
var foo_properties = [];
for (var prop in foo) {
// do something with prop and foo[prop];
}
这意味着您可以将元素中找到的属性与您实际关心的属性子集(特定于此特定标签或更大范围的“html”属性)进行比较,以获取元素的“html 状态”并能够重建它,或者它的字符串表示。
var input_foo = document.getElementById('form_id')['Q_209'];
var awesome_properties = {'type':'','name':'','value':'','checked':''};
var tag = '<input ';
var properties = '';
for (var prop in foo) {
if (prop in awesome_properties) {
properties += ' '+prop+'="'+foo[prop]+'"';
}
}
tag += properties;
tag += '>';
window.alert(tag);