![](/img/trans.png)
[英]How to know values of all attributes and properties of a tag element in HTML
[英]How to create an Object with all attributes of a html tag?
这是我的测试代码,摘自我正在构建的表单:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script>
function ini(){
console.log("Element dump:");
var elem = document.querySelector('form[name="form"] input[name="dataNasc"]');
for(var i in elem){
console.log(i+":"+elem[i]);
}
console.log("Form element dump:");
var Form = document.forms["form"];
var input = Form.dataNasc;
for(var i in input){
console.log(i+":"+input[i]);
}
}
</script>
<title>Untitled Document</title>
</head>
<body onload="ini();">
<form name="form" action="" method="post">
<label for="dataNasc">Data Nasc.</label>
<input type="text" name="dataNasc" maxlength="10" required="required" tipo="data" value="{dataNasc}" />
</form>
</body>
</html>
在两种情况下,我都选择输入标签(ini函数),未列出属性“ tipo”。 该属性返回“未定义”。 它缝接使用标记中的信息创建的对象,而不是“标记到对象”的转换。 使用externalHTML,我可以手动完成此操作(希望此属性是跨浏览器),但是我想知道是否存在使用JavaScript资源的方法...我该怎么做?
一旦有了对元素的引用,就可以遍历其attributes
NamedNodeMap以发现其所有属性。 因此,举例来说,假设只有一个匹配元素与您的选择器匹配...
var elt=document.querySelector('form[name="form"] input[name="dataNasc"]'),
attrs=elt ? elt.attributes : [];
for(var i=0; i<attrs.length; i++) {
console.log('attr "'+attrs[i].name+'" contains "'+attrs[i].value+'"');
}
尝试这个:
function ini(){
console.log("Element dump:");
var elem = document.querySelector('form[name="form"] input[name="dataNasc"]');
for(var i in elem){
console.log(i+":"+elem[i]);
}
console.log("Form element dump:");
var Form = document.forms["form"];
var input = Form.dataNasc;
var myObj = {};
for(var i in input){
myObj[i] = input[i];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.