j2ee04:js02,dom模型,三种找对象的方法,两种设置样式的方法,隐藏显示,全选,qq列表,计算器

第一:基本概念
document()的作用:1,改变标签的样式。2.获取标签中的值
1.Dom模型:一颗倒立的树,反应出了网页中标签和文本内容的结构图。在dom树的最上层是document,是文档的意思
    当html文件被浏览器解析(解析就是把代码变成了具体要显示的内容)的时候,在内存中形成了一个当前文件的标签和文本的结构图,也就是dom树。
    在这个树中的每一个节点都是一个对象。在我们打开浏览器的时候这些对象已经被创建好了,因此不需要我们创建。
2.D表示document是当前文档的意思,表示当前被浏览器加载解析的html文件(也是就封装了当前的html文件为一个对象,这个对象就是document,相当于java中io流的file。)
  O表示的是object是对象的意思,object封装的是标签和文本(把标签和文本内容封装成对象)。
  m表示的是model是模型的意思,指的是这个图(网页中的树状结构)
  因此,dom模型就是将网页封装和网页中的标签和文本封装成对象,形成一颗倒立的对象结构图。
3.对象不用我们创建,但是在用的时候需要程序员找到自己想要用的对象。document.from.input。其中html和body不用写,因为他们只出现一次,但是document不能不写,它代表当前文档。
  找到对象是为了使用对象的属性,对对象的属性进行取值和赋值。
4.一切对象都要在document这个跟对象中去找,因此document给我们提供了一些方法
  ----1.document.getElementByid():通过元素(标签)的id属性获得对象。
     alert(a.nodeName())表示获得a变量的名字(也就是看看是什么标签)。
     onmouseover()是鼠标放上去的时候触发事件,后面跟一个函数名
     innerHTML:是设置或者获取起始标签和结束标签所围堵的内容。,这个属性里除了可以放文本内容,还可以放其他标签。
     innerText:这个属性只能设置文本内容。innerHTML和innerText是针对文本节点的。
 ----2.document.getElementByName():通过标签的name属性获取标签,name属性可以重复。用这个写的是全选功能
 ----3.document.getElementTagName():通过标签来获取标签(element哎你门的,inner恩呢)
 
5.每个标签都具备以下三个属性:
      nodeName():获得标签(节点)名称
      nodeValue():获得标签(节点)的值,只有nodeType()的返回值是3的时候才有值,也就说只有文本节点才有值,其他节点是空值
      nodeType():获得标签(节点)的类型,如果是1表示元素(标签)节点,如果返回的是3表示文本节点
6.使用dom模型的步骤:
   ---1.获得某个对象(不需要自己创建)
   ---2.访问对象的属性和方法。
7.全选问题:要使用input标签的checked属性。
 在点击全选的时候就把所有的input选中,因此使用onclick事件,现在不使用这个事件爱你了,使用的是href="javascript:函数名()"
8.qq的好友列表中的隐藏和显示:display是展示的意思,可以选择隐藏none和显示black。注意样式属性和标签属性。例如div标签没有display属性,可是使用样式的时候就可以有这个属性了。
9.改变字体的样式:就是改变样式,因此最好的办法就是把样式分离出来。
 ----1.style:只能改变一个样式
 ----2.className:改变多个样式
  作业:完善全选,完善隐藏和显示(选择一个,另外两个要隐藏)
注意:this表示当前对象,由于每个标签都是一个对象,把this写在标签里this也就表示当前标签,例如:
1.这种情况是方法没用this当做形式参数
<head>
 <title>www.mldnjava.cn,MLDN高端Java培训</title>
 <script language="javascript">
  function show(){
   var value = document.myform.name.value ;
   alert("输入的内容是:" + value) ;
  }
 </script>
</head>
<body>
<form action="" method="post" name="myform">
 请输入内容:<input type="text" name="name">
 <input type="button" value="显示" onclick="show()">
</form>
</body>
2.这种方式是函数用了this关键字:这里的f就表示下面的form表单,也就能够代替上面的document.myform
function validate(f){
   var value = f.email.value ;
   return true ;
  }
 </script>
</head>
<body>
<form action="test.htm" method="post" name="myform" onsubmit="return validate(this)">
 EMAIL:<input type="text" name="email">
 <input type="submit" value="提交">
</form>
12.注意:f.email.focus() ;// 让email获得焦点
 f.email.select() ;// 让已有的内容全选
13.java都是需要程序员自己写类写对象,javascript自己有好多自己的对象,javascript其实就是基于对象操作的。

注意:dom树不能改变文档里面的内容,但是改变的是内存中的dom树的内容,没改变原来文件
 
 
第二:代码实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
    *{
  padding:0xp;
  margin:0px;
 }
   #tb{
    background-color:#99F;
    border: #00F  solid 1px;
    border-collapse:collapse;
   }
    #tb  tr td {
  background-color:#C36;
  border:#CCC solid 1px;
 }
   #tb  tr td a{
    background-color:#0C6;
    text-decoration:none;
   }
   #tb  tr td div{
    background-color:#939;
    text-align:center;
    color:#F00;
    display:none;
   }
   .max{
    background-color: #0FC;
    color: #000;
    width:400px;
    height:400px;
    font-size:26px;
    border: #F9F  thin 1px;
   }
   .min{
    background-color: #90F;
    color: #FC3;
    width:400px;
    height:400px;
    font-size:12px;
    border: #CCC double 1px;
   }
     .default{
    background-color:#066;
    color:#CF3;
    width:400px;
    height:400px;
    font-size:18px;
    border:#F00 dashed 2px;
   }
   #res_0,#res_1,#res_2,#res_4,#res_3{
    display: none;
   }
</style>
<script type="text/javascript">
<!---第一题-->
    function changeHref(){
  var bd=document.getElementById("bd");
  bd.href=" http://www.taobao.com";
  bd.innerHTML="<h2>淘宝<h2>";
 }
<!---第二题-->
 function checkAll(){
      var ca=document.getElementsByName("ck");
  var sum=0;
  for(var x=0;x<ca.length;x++){
   ca[x].checked=true;
   sum=sum+parseInt(ca[x].value);
  }
  var div = document.getElementById("price");
  div.innerText="价钱为:"+sum;
 }
 function cancleAll(){
  var ce=document.getElementsByName("ck");
  for(var x=0;x<ce.length;x++){
   ce[x].checked=false;
  }
  var div=document.getElementById("price");
  div.innerHTML="请选择商品...";
 }
 function fanxuan(){
  var fx=document.getElementsByName("ck");
  var sum=0;
  for(var x=0;x<fx.length;x++){   
   if(fx[x].checked==true){
    fx[x].checked=false;
   }else{
    fx[x].checked=true;
    sum=sum+parseInt(fx[x].value);
   }
  }
  var div=document.getElementById("price");
  div.innerHTML="价钱为:"+sum;
 }
 function jisuan(){
      var aaa=document.getElementsByName("ck");
  var sum=0;
  for(var x=0;x<aaa.length;x++){
   if(aaa[x].checked){
    sum=sum+parseInt(aaa[x].value);
   }
  }
  var div = document.getElementById("price");
  div.innerHTML="总价为:"+sum;
 }
 <!---第三题-->
 function changeContent(){
  var h=document.getElementsByTagName("h3");
  for(var x=0;x<h.length;x++){
   h[x].innerHTML="<font color='red' size='26'>哈哈哈</font>";
  }
 }
 <!---第四题-->
 function changeDisplay(idaaa){
      var myid=document.getElementById(idaaa);
  if(myid.style.display=="block"){
    myid.style.display="none";
  }else{
   myid.style.display="block";
  }
  
 }
 <!--第五题-->
 function changeMax(){
  var a=document.getElementById("news");
  a.className="max";
 }
 function changeDefault(){ 
  var a=document.getElementById("news");
  a.className="default";
 }
 function changeMin(){
  var a=document.getElementById("news");
  a.className="min";
 }
 <!------第六题---->
 function jiaNeng(){
  var jn=document.getElementsByName("jn");
  var sum=0;
  for(var x=0;x<jn.length;x++){
   if(jn[x].checked){
   sum=sum+parseInt(jn[x].value);
  }
  }
  var sp=document.getElementById("s");
  sp.innerHTML="    <font color='red'>价钱为¥"+sum+"</font>";
 }
 <!----第七题--->
 function abc(obj){
  var divInfo=document.getElementById("divid");
  if(obj.value=="1")
  { 
   divInfo.style.display="block"; 
  }
  else
  {
   divInfo.style.display="none"; 
  }
 
 }
 function showResult(node){
  var num=node.value;
  //alert(num);
  var div=document.getElementById("res_"+num);
  var divs=document.getElementById("showRes");
  //alert(div.innerHTML);
  if(div==res_0){
  res_0.style.display="block";
  res_1.style.display="none";
  res_2.style.display="none";
  res_3.style.display="none";
  res_4.style.display="none";
  }else
  if(div==res_1){
  res_1.style.display="block";
  res_0.style.display="none";
  res_2.style.display="none";
  res_3.style.display="none";
  res_4.style.display="none"; 
  }else
  if(div==res_2){
  res_2.style.display="block";
  res_1.style.display="none";
  res_0.style.display="none";
  res_3.style.display="none";
  res_4.style.display="none"; 
  }else
  if(div==res_3){
  res_3.style.display="block";
  res_1.style.display="none";
  res_2.style.display="none";
  res_0.style.display="none";
  res_4.style.display="none"; 
  }else
  if(div==res_4){
  res_4.style.display="block";
  res_1.style.display="none";
  res_2.style.display="none";
  res_3.style.display="none";
  res_0.style.display="none"; 
  } 
 }
 <!---第八题---->
 function InitImage( )
{
   document.getElementById("gameTab2").style.display="none";
   document.getElementById("game").style.display="none";
   document.getElementById("mobileTab1").style.display="none";
}
  function TabChange(show,hidden) {  
 document.getElementById(show+"Tab1").style.display="none";
 document.getElementById(show+"Tab2").style.display="block";
 document.getElementById(hidden+"Tab1").style.display="block";
 document.getElementById(hidden+"Tab2").style.display="none";
 
 document.getElementById(show ).style.display="block";
 document.getElementById(hidden ).style.display="none";
}
<!--------第九题------->
   function calculate(buttons){
         var a=document.myform.num1.value;
         var b=document.myform.num2.value;
         var result
         if(buttons=="but1")
            result=parseInt(a)+parseInt(b);
         if(buttons=="but2")
            result=parseInt(a)-parseInt(b);
         if(buttons=="but3")
            result=parseInt(a)*parseInt(b);
         if(buttons=="but4")
            result=Number(a)/Number(b); 
         document.myform.resu.value=result;
      }
 
</script>
</head>
<body onload="InitImage()">
<!---第一题-->
 <a href=" http://www.baidu.com" id="bd" onmouseover="changeHref()">百度</a><br />
 <form>
      姓名:<input  type="text" name="xm" /><br/>
      密码:<input type="password" name="mm"/><br />
      <input type="submit" value="提交"/>
 </form>
 <img src="image/zy03.jpg"/>
 <hr  style="border:#696 dashed 1px"/>
 
 <!---第二题-->
 <form>
    <table>
       <tr><td colspan="2">
           <a href="javascript:checkAll()">全选</a>
           <a href="javascript:cancleAll()">取消</a>
           <a href="javascript:fanxuan()">反选</a>
          <!--- <a href="javascript:jisuan()">计算总价</a>-->
           <div id="price"></div>
       </td></tr>
       <tr>
           <td><input type="checkbox" name="ck"  value="200" onchange="jisuan()"/></td>
           <td><img  src="image/2-1.jpg" width="100" height="100"/></td>
       </tr>
         <tr>
           <td><input type="checkbox" name="ck" value="100" onchange="jisuan()"/></td>
           <td><img  src="image/2-1.jpg" width="100" height="100" /></td>
       </tr>
         <tr>
           <td><input type="checkbox" name="ck" value="100" onchange="jisuan()"/></td>
           <td><img  src="image/2-1.jpg"width="100" height="100"/></td>
       </tr>
         <tr>
           <td><input type="checkbox" name="ck" value="100" onchange="jisuan()"/></td>
           <td><img  src="image/2-1.jpg" width="100" height="100"/></td>
       </tr>
    </table>
 </form>
 <hr  style="border:#3FC double 2px"/>
 
 <!---第三题-->
 <h3 onmouseover="changeContent();">我想你</h3>
 <h3>我想你</h3>
 <h3>我想你</h3>
 <h3>我想你</h3>
 <hr  color="#000000"/>
 
 <!---第四题-->
 <table  id="tb">
    <tr><td>
     <a href="javascript:changeDisplay('xhb')">小伙伴</a>
     <div id="xhb">
       张三<br />
       李四<br />
       王伟<br />
     </div>
    </td></tr>
       <tr><td>
     <a href="javascript:changeDisplay('npy')">女朋友</a>
     <div id="npy">
       1号<br />
       2号<br />
       3号<br />
     </div>
    </td></tr>
       <tr><td>
     <a href="javascript:changeDisplay('lx')">老乡</a>
     <div id="lx">
       周周周<br />
       李克强<br />
       王岐山<br />
     </div>
    </td></tr>
 </table>
 <hr />
 
 <!---第五题-->
 <a href="javascript:changeMax()">大字体</a>
 <a href="javascript:changeDefault()">中字体</a>
 <a href="javascript:changeMin()">小字体</a><br/>
 <div id="news" class="default" >
 DOM 模型(描述网页中标签,文本倒立树形结构)
                        当html文件被浏览器解析的时候,在内存形成一个当前          
                       文件的标签和文本的结构图---DOM,在DOM中的每一个节点
                       都被封装为对象
   Document:表示当前被浏览器加载解析的html文件(封装当前html文                                                             
                          件为一个对象---Document)
   Object:封装的是标签和文本
   Model : 模型-----在内存中的网页结构图
 </div>
 <hr />
 
 <!----第六题--->
 <input type="checkbox" name="jn" value="200"  />佳能单反<br/>
 <input type="checkbox" name="jn" value="200"  />佳能单反<br/>
 <input type="checkbox" name="jn" value="200"  />佳能单反<br/>
 <input type="checkbox" name="jn" value="200"  />佳能单反<br/>
 <input type="checkbox" name="jn" value="200"  />佳能单反<br/>
 <input type="checkbox" name="jn" value="200"  />佳能单反<br/>
 <input type="button" value="计算价钱"  onclick="jiaNeng()"/><span id="s"></span>
 <br /><hr />
 <!----第七题--->
 你是否愿意参加我们的咨询:
 <input type="radio"  name="a" checked="checked" onclick="abc(this)" value="1"/>是
 <input type="radio"  name="a"  onclick="abc(this)" value="0"/>否<br />
 <div id="divid">
姓名:<input type="text"  /> <br />
年龄:<input type="text"  /><br />
 </div>
请选择水果:<br />
<input type="radio" name="b"  onclick="showResult(this)" value="0"/>香蕉<br />
<input type="radio" name="b"  onclick="showResult(this)" value="1"//>苹果<br />
<input type="radio" name="b" onclick="showResult(this)" value="2"//>西瓜<br />
<input type="radio" name="b" checked="checked"  onclick="showResult(this)" value="3"//>桃子<br />
<input type="radio" name="b"   onclick="showResult(this)" value="4"//>芒果<br />
<!--<input type="button" value="提交" onclick="xianshi();"/><span id="message"></span>---->
  <div id="showRes">
     <div id="res_0">
        你处于人品爆发1期.....
        </div>
        <div id="res_1">
            你的人品是很让人2鄙视......
        </div>
          <div id="res_2">
            你的人品是很3让人鄙视......
        </div>
          <div id="res_3">
            你的人品是很4让人鄙视......
        </div>
          <div id="res_4">
            你的人品是很让5人鄙视......
        </div> 
    </div>
</div>
<hr />
<!------第八题------->
<TABLE border="0" align="center" cellpadding="0" cellspacing="0">
  <TR>
    <TD><IMG id="gameTab1" src="image/gameTab1.jpg" width="83" height="47" onMouseOver="TabChange('game','mobile')" >
     <IMG id="gameTab2" src="image/gameTab2.jpg" width="83" height="49"></TD>
    <TD><IMG  id="mobileTab1" src="image/mobileTab1.jpg" width="81" height="49" onMouseOver="TabChange('mobile','game')">
     <IMG id="mobileTab2" src="image/mobileTab2.jpg" width="82" height="47"></TD>
  </TR>
  <TR>
    <TD colspan="2"><IMG id="mobile" src="image/mobile.jpg" width="165" height="171">
                 <IMG id="game" src="image/game.jpg" width="164" height="169"  ></TD>
  </TR>
  <TR>
    <TD colspan="2"><IMG src="image/fly.jpg" width="165" height="43"></TD>
  </TR>
</TABLE>
<hr />
<!------第九题------->
<form name="myform">
第一个数:<input  type="text" name="num1" value=""/><br />
第二个数:<input type="text" name="num2" value="" /><br />
操作:<input type="button" value=" + " name="but1" onclick="calculate('but1')"/>
     <input type="button" value=" - " name="but2" onclick="calculate('but2')"/>
     <input type="button" value=" * " name="but3" onclick="calculate('but3')"/>
     <input type="button" value=" / " name="but4" onclick="calculate('but4')"/><br />
结果:<input type="text" name="resu" >
</form>
</body>
</html>

你可能感兴趣的:(j2ee04:js02,dom模型,三种找对象的方法,两种设置样式的方法,隐藏显示,全选,qq列表,计算器)