JavaScript对象反射用法实例


本文实例讲述了JavaScript对象反射用法。分享给大家供大家参考。具体如下:

这里讲述JavaScript对象反射用法,涉及反射DOM对象和自定义对象

<html>
<head>
<title>JavaScript反射工具</title>
<style type="text/css">
#show{
width:400px;height:300px;
border:red solid 1px;
overflow:scroll;
}
#main{
width:500px;
text-align:left;
margin-left:auto;
margin-right:auto;
}
</style>
<script type='text/javascript'>
//生成选择的反射对象并反射
function SwitchObj(){
 var obj;
 var switchobj=document.getElementById('selects');
 if(switchobj.value=="op_div"){
      obj=document.createElement("div");
  }
 if(switchobj.value=="op_select"){
      obj=document.createElement("select");
  }
 if(switchobj.value=="op_p"){
      obj=document.createElement("p");
  }
 if(switchobj.value=="op_span"){
      obj=document.createElement("span");
  }
 if(switchobj.value=="op_table"){
      obj=document.createElement("table");
  }
 if(switchobj.value=="op_tr"){
      obj=document.createElement("table");
  }
 if(switchobj.value=="op_window"){
      obj=document.createElement("window");
  }
 if(switchobj.value=="op_document"){
      obj=document.createElement("document");
  }
 Assembly(obj);
}
//反射对象
function Assembly(obj){
  var order=0;
  if(obj){
    var assstr="反射对象:"+obj.tagName+"<br/>"
    for(key in obj){
      order++;
      assstr+=order+"----"+key+"<br/>";
    }
    Show(assstr);
  }
}
//将反射信息输出
function Show(msg){
  var showobj=document.getElementById('show');
  if(showobj){
    showobj.innerHTML="";
    showobj.innerHTML=msg;
   }
}
</script>
</head>
<body>
<div id="main">
<h1>JavaScript反射工具</h1>
<div id="show"></div>
<input type="button" id="btn_assembly" value="反射" 
onclick="SwitchObj('select');" />
<select id="selects">
<option value='op_div'>div</option>
<option value='op_p'>p</option>
<option value='op_span'>span</option>
<option value='op_table'>table</option>
<option value='op_select'>select</option>
<option value='op_document'>document</option>
<option value='op_window'>window</option>
</select>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3