Window對象方法:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISMxcDOwYjM5AzNwUDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
1. document.getElementById 擷取元素的方法一
文法:oElement = document .getElementById ( sID )
參數:sID――必選項。字元串 (String) 。
傳回值:oElemen――對象 (Element) 。
說明:根據指定的 id 屬性值得到對象。傳回 id 屬性值等于 sID 的第一個對象的引用。假如對應的為一組對象,則傳回該組對象中的第一個。 如果無符合條件的對象,則傳回 null 。
注意: document.getElementById(” “) 得到的是一個對象,用 alert 顯示得到的是“ object ”,而不是具體的值,它有 value 和 length 等屬性,加上 .value 得到的才是具體的值!是第一個JS相容性問題
2. document 對象屬性
document.title //設定文檔标題等價于HTML的标簽
document.bgColor //設定頁面背景色
document.fgColor //設定前景色(文本顔色)
document.linkColor //未點選過的連結顔色
document.alinkColor //激活連結(焦點在此連結上)的顔色
document.vlinkColor //已點選過的連結顔色
document.URL //設定URL屬性進而在同一視窗打開另一網頁
document.fileCreatedDate //檔案建立日期,隻讀屬性
document.fileModifiedDate //檔案修改日期,隻讀屬性
document.fileSize //檔案大小,隻讀屬性
document.cookie //設定和讀出cookie
---------------------------------------------------------------------
對象方法
document.write() //動态向頁面寫入内容
document.createElement(Tag) //建立一個html标簽對象
document.getElementById(ID) //獲得指定ID值的對象
document.getElementsByName(Name) //獲得指定Name值的對象
3. link标簽
作用1:定義文檔與外部資源的關系
作用2:連結樣式表
連結外部樣式表執行個體:
-
JS動态修改CSS樣式
getElementById擷取的對象obj,通過”.“ 修改樣式(第一種操作屬性的方法,第二種是[‘屬性/字元串’], 或者[參數]),HTML裡怎麼寫,JS裡怎麼寫。但是有一個例外:className
也就是,div裡id類名為class,函數裡應該寫obj.className=”“;
另一個執行個體:
用setAttribute方法實作一個頁面兩份樣式表的效果,具體方法如下:
第一步:在連接配接樣式表的元素裡定義一個id,例如
我定義的id是css。
第二步:寫一個js函數,代碼如下:
<script type="text/javascript">
function change(a){
var css=document.getElementById("css");
if (a==)
css.setAttribute("href","1.css");
if (a==)
css.setAttribute("href","2.css");
}
</script>
這個函數的code可以放在頁面的任何地方。
第三步:為改變頁面的樣式表的連接配接添加一個函數的觸發事件,代碼如下:
<a href="#" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onClick="change(1)">1.css</a>
<a href="#" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onClick="change(2)">2.css</a>
該效果在IE和FF下均測試通過,相信大家看完後因該非常明了,利用這個方法我們可以讓浏覽者自己選擇需要顯示的樣式表,比如年老者
可以選擇一個字型較大的樣式表。這裡需要注意的兩點是:
在這個例子中函數名function後面的名字不能為links或者link,如果為links或者link,樣式表将不被改變,具體什麼原因我也不大清楚,可能是javascript的保留字元。
另外如果是改變整個頁面的樣式,你需要在樣式表檔案裡定義body的高度為100%
5.函數傳參:定不下來的時候
執行個體(一個參數):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函數傳參</title>
<style>
#div1 {width:px; height:px;background:#a8eec6;}
</style>
<script>
function changeColor(color){
var oDiv=document.getElementById('div1');
oDiv.style.background=color;
}
</script>
</head>
<body>
<input type="button" value="tored" onclick="changeColor('red')"/>
<input type="button" value="toblue" onclick="changeColor('blue')"/>
<input type="button" value="togreen" onclick="changeColor('green')"/>
<div id="div1">
文本區域
</div>
</body>
</html>
兩個參數:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函數傳參</title>
<style>
#div1 {width:px; height:px;background:#a8eec6;}
</style>
<script>
function setStyle(name,value)
{
var oDiv = document.getElementById('div1');
/oDiv.style.name="value";不能這麼寫,計算機不識别/
oDiv.style[name] = value;
}
</script>
</head>
<body>
<input type="button" value="toWidth" onclick="setStyle('width','400px')"/>
<input type="button" value="toHeight" onclick="setStyle('height','400px')"/>
<input type="button" value="toGreen" onclick="setStyle('background','green')"/>
<div id="div1">
文本區域
</div>
</body>
</html>
6.關于樣式優先級:
行間樣式style>id#>class.>html标簽
CSS樣式可以有很多種選擇器形式,它們的權重可以用四位數字 X X X X 來表示。
首先,HTML元素的内聯樣式權重最高,可以用 1 0 0 0 來表示;
其次,ID選擇器的樣式權重次之,可以用 0 1 0 0 來表示;
第三,類選擇器、屬性選擇器、僞類選擇器,可以用 0 0 1 0 來表示;
第四,HTML元素選擇器、僞元素選擇器權重最低,可以用 0 0 0 1 來表示;
第五,通配符選擇器,權重完全為0,對權重無貢獻,可以用 0 0 0 0 來表示。
7.function()行為樣式結構相分離
Web标準由一系列标準組合而成,其核心理念就是将網頁的結構、樣式和行為分離開來,是以它可以分為三大部分:結構标準、樣式标準和行為标準。
結構标準包括XML标準、XHTML标準、HTML标準;樣式标準主要是指CSS标準;行為标準主要包括DOM标準和ECMAScript标準。
一個符合标準的網頁,标簽中的标簽名應該全部都是小寫的,屬性要加上引号,樣式和行為不再夾雜在标簽中,而應該分别單獨存放在樣式檔案
和腳本檔案中。理想狀态下,網頁源代碼由三部分組成:.html檔案、.css檔案和.js檔案。标簽中混有樣式和行為的寫法是不推薦的。
常用到一個函數:window.onload是頁面加載完成的時候才發生
a.在JS語句調用 :
<script type="text/javascript">
function func(){……}
window.onload=func;
</script>
b.同時調用多個函數 直接寫到html的body标簽裡面,如:
<html>
<body onload="func1();func2();func3();">
</body>
</html>
c.js調用多個函數,以下這種調用方式可以用于不太複雜的JS程式中,如果程式函數很多,邏輯比較複雜,可以考慮用第四種方式。
<script type="text/javascript">
function func1(){……}
function func2(){……}
function func3(){……}
window.onload=function(){
func1();
func2();
func3(); }
</script>
d.JS自定義函數式多次調用
<script type="text/javascript">
function func1(){……}
function func2(){……}
function func3(){……}
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!="function"){
window.onload=func;
}
else{
window.onload=function(){
oldonload();
func();}
}
}
addLoadEvent(func1);
addLoadEvent(func2);
addLoadEvent(func3);
</script>
8.getElementsByTagName
<script>
window.onload=function(){
var aDiv=document.getElementsByTagName('div');
aDiv[].style.background='red';
}
</script>
9.循環
一般包括四部分:初始化,條件,語句,自增
for循環:
for(var i=0,i<5,i++){語句}
執行個體:
<head>
<meta charset="UTF-8">
<title></title>
<style>
div {width:px;height:px;float:left;
border: px solid black;margin:px;}
</style>
<script>
window.onload=function(){
var aDiv=document.getElementsByTagName('div');
for (var i=;i<aDiv.length;i++){
aDiv[i].style.background='red';
}
}
</script>
</head>
<body>
<div>a </div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
10.this
表示目前選中的對象,如頁籤小程式
<script>
window.onload= function(){
var oDiv=document.getElementById('div1');
var aBtn=oDiv.getElementsByTagName('input');
var aDiv=oDiv.getElementsByTagName('div');
for (var i=;i<aBtn.length;i++)
{
aBtn[i].index=i;
aBtn[i].onclick=function()
{
//先讓所有的按鈕變為常态
for(var j=;j<aBtn.length;j++)
{
aBtn[j].className='';
aDiv[j].style.display='none';
}
//再讓按鈕選中,并顯示對應DIV
this.className='active';
aDiv[this.index].style.display='block';
}
}
}
</script>
11.innerHTML
用來設定或擷取位于對象起始和結束标簽内的HTML。可以是文字,也可以是html代碼
<script>
window.onload=function(){
var oTxt=document.getElementById('txt1');
var oBtn1=document.getElementById('btn1');
var oDiv=document.getElementById('div1');
oBtn1.onclick=function(){
oDiv.innerHTML=oTxt.value;
}
}
</script>