如何查看javascript object对象的所拥有的属性值,如下面页面代码:
<html>
<head>
<title></title>
<script type="text/javascript"></script>
</head>
<body>
<input id="test" name="hehe" styple="">
</body>
</html>
我想获取了 id="test" 对象,如何显示出这个对象的属性呢?假使我并不知道这个对象有多少个属性我该怎么办?
------解决方案--------------------------------------------------------
假设你拿到对象是test
- JScript code
for(i in test){ alert(i);//i就是test的属性名 alert(test.i);//test.i就是属性值}
------解决方案--------------------------------------------------------
楼上的思路确实够独到的,佩服。
不过试了一下,似乎不行。
网上查了一下,似乎这个方法只能适用于自定义的object,对String, Date等js内建对象不可以。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
使用JS的 for...in语句
--不知属性个数时,用于对某个对象的所以属性进行循环操作,
返回字符串形式的属性名;获取属性值方式: p1[temp] ;
跟Java的for(Student stu:students){...}很像;
语法: for(临时变量 in 对象实例名){
...
}
function Person(){
this.name="bai";
this.age=19;
this.height=175;
}
var p1= new Person();
var temp,p1Str="";
for(temp in p1){
alert(typeof temp); --是字符串
alert(p1[temp]);
p1Str=p1Str+temp+" -- "
}
alert(p1Str); --返回"name -- age -- height"
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
楼主得到答案了吗?结果呢
------解决方案--------------------------------------------------------
for(i in test){
alert(test[i]);
}
------解决方案--------------------------------------------------------
var test = document.getElementById('test');
for(i in test){
alert(test[i]);
}
------解决方案--------------------------------------------------------
推荐你用一下Jquery,看有没有这样的例子,Jquery里有attribute的一些方法,试一下
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
- HTML code
<html> <head> <title> </title> </head> <body> <input id="test" name="hehe" styple="" /><br/><script type="text/javascript">var o = document.getElementById("test");for (var p in o) { document.write("<b>"+p+":</b>"); document.write(escapeXml(o[p]+"")); document.write("<br/>");}function escapeXml(str) { return str.replace(/&/g, "&").replace(/\</g, "<").replace(/>/g, ">");}</script> </body> </html>