天天看點

Window.document對象

1、Window.document對象

一、找到元素:

    docunment.getElementById("id");根據id找,最多找一個;

    var a =docunment.getElementById("id");将找到的元素放在變量中;

    docunment.getElementByName("name");根據name找,找出來的是數組;

    docunment.getElementByTagName("name");根據标簽名找,找出來的是數組;

    docunment.getElementByClassName("name") 根據classname找,找出來的是數組;

二、操作内容:

 1. 非表單元素:

1)擷取内容:

alert(a.innerHTML);标簽裡的html代碼和文字都擷取了,标簽裡面的所有内容。

如:body中有這麼一個div:

<div id="me"><b>試試吧</b></div>

在script中用innerHTML擷取div中的内容:

var a= document.getElementById("me");

alert(a.innerHTML);

alert(a.innerText);隻取裡面的文字

    alert(a.outerHTML);包括标簽本身的内容(簡單了解)

2)設定内容:

a.innerHTML = "<font color=red >hello world </font>";

如果用設定内容代碼結果如下,div中的内容被替換了:

a.innerText會将賦的東西原樣呈現

清空内容:指派個空字元串

2. 表單元素:

1)擷取内容,有兩種擷取方式:

var t = document.f1.t1; form表單ID為f1裡面的ID為t1的input;

    var t = document.getElementById("id"); 直接用ID擷取。

alert(t.value); 擷取input中的value值;

    alert(t.innerHTML); 擷取<textarea> 這裡的值 </textarea>;

2)設定内容: t.value="内容改變";

3. 一個小知識點:

<a href="http://www.baidu.com" onclick ="return false">轉向百度</a> ;加了return flase則不會跳轉,預設是return true會跳轉。按鈕也一樣,如果按鈕中設定return flase 則不會進行送出,利用這個可以對送出跳轉進行控制。

三、操作屬性

首先利用元素的ID找到該元素,存于一個變量中:

var a = document.getElementById("id");

然後可以對該元素的屬性進行操作:

a.setAttribute("屬性名","屬性值"); 設定一個屬性,添加或更改都可以;

a.getAttribute("屬性名");擷取屬性的值;

a.removeAttribute("屬性名");移除一個屬性。

例子1:做一個問題,如果輸入的答案正确則彈出正确,錯誤彈出錯誤;

這裡在text裡面寫了一個daan屬性,裡面存了答案的值,點選檢查答案的時候check輸入的内容和答案是否一樣:

Body中代碼:

<form>中華民國成立于哪一年?<input type="text" daan="1912年" value="" id="t1" name="t1" /><input type="button" onclick="check()" id="t2" name="t2" value="檢查答案" /></form>

JS中的代碼:

function check()

{

    var a=document.getElementById("t1");

    var a1=a.value;

    var a2=a.getAttribute("daan");

    if(a1==a2)

    {

        alert("恭喜你答對了!");

    }

    else

    {

        alert("笨蛋!");

    }

}

例子2: 同意按鈕,倒計時10秒,同意按鈕變為可送出的,這裡用了操作屬性:disabled,來改變按鈕的狀态,當disabled=”disabled”時按鈕不可用。

body中的代碼:

<form><input type="submit" id="b1" name="b1" value="同意(9)" disabled="disabled" /></form>

JS中的代碼:

var n=10;

var a= document.getElementById("b1");

function bian()

{

    n--;

    if(n==0)

    {

        a.removeAttribute("disabled");

        a.value="同意";

        return;

    }

    else

    {

        a.value= "同意("+n+")";

        window.setTimeout("bian()",1000);

    }

}

window.setTimeout("bian()",1000);

四、操作樣式

首先利用元素的ID找到該元素,存于一個變量中:

var a = document.getElementById("id");

然後可以對該元素的屬性進行操作:

a.style="" ; 操作此ID樣式的屬性。

樣式為CSS中的樣式,所有的樣式都可以用代碼進行操作。

document.body.style.backgroundColor="顔色"; 整個視窗的背景色。

操作樣式的class:a.className="樣式表中的classname" 操作一批樣式

例子1:展示圖檔的自動和手動切換;

Body中的代碼,做一個有背景圖檔的div和兩側的控制對象:

 <div id="tuijian" style=" background-image:url(images/tj1.jpg);"> 

 <div class="pages" id="p1" onclick="dodo(-1)"></div>            

<div class="pages" id="p2" onclick="dodo(1)"></div>       

 </div>

樣式表中的代碼:

<style type="text/css">

*

   margin:0px auto;

    padding:0px; 

   font-family:"微軟雅黑";

}

#tuijian

{

    760px;

    height:350px;

    background-repeat:no-repeat;

}

.pages

{

    top:200px;

    background-position:center;    

    background-repeat:no-repeat; 

    opacity: 0.4;

      30px; 

     height:60px;   

}

#p1

{

    background-image:url(imges/prev.png);

    float:left;

    margin:150px 0px 0px 10px;

  }

#p2

{

    background-image:url(imges/next.png);

    float:right;

    margin:150px 10px 0px 0px;

}

</style>

JS中的代碼,這裡主要是每隔3秒中調用一下huan()函數,來将背景圖檔的樣式修改,在點選左右切換的時候變為手動切換,自動切換停止:

<script language="javascript">

var jpg =new Array();

jpg[0]="url(imges/tj1.jpg)";

jpg[1]="url(imges/tj2.jpg)";

jpg[2]="url(imges/tj3.jpg)";

var tjimg = document.getElementById("tuijian");

var xb=0;

var n=0;

function huan()

{   

 xb++;  

  if(xb == jpg.length)  

 {     

   xb=0;  

   }      

    tjimg.style.backgroundImage=jpg[xb];  

    if(n==0) 

   {

    var id = window.setTimeout("huan()",3000);   

  }  

}

function dodo(m)

{

       n=1;    xb = xb+m;   

 if(xb < 0) 

   {        

xb = jpg.length-1;  

   }   

else if(xb >= jpg.length)

    { 

       xb = 0; 

   } 

   tjimg.style.backgroundImage=jpg[xb];

}

window.setTimeout("huan()",3000);

</script>

<div id="tj">
<div class="pages" id="p1" onclick="pp(-1)"></div>
<div class="pages" id="p2" onclick="pp(1)"></div>
</div>      
<script languange="javascript">
var h=new Array;
h[0]="url(../../document/tj2.gif)";
h[1]="url(../../document/tj1.jpg)";
h[2]="url(../../document/tj3.gif)";
h[3]="url(../../document/tj.jpg)";
h[4]="url(../../document/tj4.jpg)";
h[5]="url(../../document/tj5.jpg)";
var z=document.getElementById("tj")
var j=0;
var n=0;
function l()
{
    j++;
    if(j=h.length)
    {
    j=0;
    }
    z.style.backgroundImage=h[j];
    if(k=0)
    {
        var id=window.setTimeout("l()",3000);
    }
}
function pp(m)
{
    n=1;
    j=j+m;
    if(j<0)
    {j=h.length-1;
    }
    else if(j>=h.length)
    {
        j=0;
    }
    z.style.backgroundImage=h[j]
}
window.setTimeout("l()",3000);
</script>      

css

*
{
    margin:0px;
    padding:0px auto;
    font-family:"華文新魏";
}
#tj
{
    background-image:url(../../document/tj2.gif);
    400px;
    height:280px;
    left:70px;
    top:65px;
    background-repeat:no-repeat;
    background-size:cover;
    position:absolute;
    
}
.pages
{
    background-repeat:no-repeat; 
    background-position:center;
    20px;
    height:40px;
}
#p1
{
    background-image:url(../../document/img.png);
    float:left;
    margin:100px 0px 0px 0px;
    
}
#p2
{
    background-image:url(../../document/img2.png);
    float:right;
    margin:100px 0px 0px 0px;
    
}      

插入音樂:

<div style=" background-color:#0FC;bottom:20px;left:0px; position:fixed; 0px; height:0px;"><video src="豆豆 - 努力.mp3" style=" height:30px; 300px;" controls="controls" autoplay="autoplay"></video></div>
      

插入視訊

<div style=" top:150px; left:10px; position:absolute; text-align:center; vertical-align:middle;"><embed src="http://player.youku.com/player.php/sid/XMTQzNzk4NDM5Mg==/v.swf" allowFullScreen="true" quality="high" width="1000" height="600" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed></div>      

五、相關元素操作:

var a = document.getElementById("id");找到a;

var b = a.nextSibling,找a的下一個同輩元素,注意包含空格;

var b = a.previousSibling,找a的上一個同輩元素,注意包含空格;

var b = a.parentNode,找a的上一級父級元素;

var b = a.childNodes,找出來的是數組,找a的下一級子元素;

var b = a.firstChild,第一個子元素,lastChild最後一個,childNodes[n]找第幾個;

alert(nodes[i] instanceof Text); 判斷是不是文本,是傳回true,不是傳回flase,用if判斷它的值是不是false,可以去除空格。

六、元素的建立、添加、删除:

var a = document.getElementById("id");找到a;

var obj = document.createElement("标簽名");建立一個元素 

obj.innerHTML = "hello world";添加的時候首先需要建立出一個元素。

a.appendChild(obj);向a中添加一個子元素。

a.removeChild(obj);删除一個子元素。

清單中a.selectedIndex:選中的是第幾個;

//a.options[a.selectIndex]按下标取出第幾個option對象

七、字元串的操作:

var s = new String(); 或var s ="aaaa";

var s = "hello world";

alert(s.toLowerCase());轉小寫 toUpperCase() 轉大寫

alert(s.substring(3,8));從第三個位置截取到第八個位置

alert(s.substr(3,8));從第三個位置開始截取,截取八個字元長度,不寫後面的數字是截到最後.

s.split('');将字元換按照指定的字元拆開,放入數組,自動排序

s.length是屬性

s.indexOf("world");world在字元串中第一次出現的位置,沒有傳回-1

s.lastIndexOf("o");o在字元串中最後一次出現的位置

八、日期時間的操作

var d = new Date();目前時間

d.setFullYear(2015,11,6);/*在想要設定的月份上減1設定*/

d.getFullYear:取年份;

 d.getMonth():取月份,取出來的少1; 

d.getDate():取天; 

d.getDay():取星期幾

d.getHours():取小時; 

d.getMinutes():取分鐘;d.getSeconds():取秒

d.setFullYear():設定年份,設定月份的時候注意-1。

九、數學函數的操作

Math.ceil();大于目前小數的最小整數

Math.floor();小魚目前小數的最大整數

Math.sqrt();開平方

Math.round();四舍五入

Math.random();随機數,0-1之間

十、小知識點

外面雙引号,裡面的雙引号改為單引号;

在div裡面行高設定時,無論設定多麼高,所占用的行預設在中間位置(div上下區域内中間——【預設】垂直居中)。

文本框取出來的值是字元串,需要用parseint()轉化為數字

s.match(reg); s代表一個字元串,reg代表一個字元串,兩者進行比對,如果兩個字元串不比對,傳回一個null。

三、document:

1.找

var d = document.getElementById("元素的ID");

var d = document.getElementsByName("元素名稱")

var d = document.getElementsByTagName("标簽名")

2.操作元素内容:

(1)表單元素:文本(input:type=text,input:type=password;textarea;input:type=hidden)按鈕(submit,reset,button image)選擇(radio,checkbox,select,file)

d.value=“xxxx”;

var s = d.value;

(2)非表單元素:h1...h6,p,div,ul,ol,li

d.innerHTML = xxxx;

var s = d.innerHTML;

3.操作元素屬性:

d.setAttribute(名,值)

var s = d.getAttribute(名)

d.removeAttribute(名);

4.操作元素樣式:

(1)内聯樣式:

d.style.backgroundColor = "#FFFF00";

var s = d.style.backgroundColor;

(2)class屬性:

d.className=""

5.操作相關元素:

父級,子,兄,弟