document對象-8.18

復(fù)習(xí)

  1. javascript 組成?
  2. window 常用方法
  3. history 對象常用方法
  4. 如何打開一個窗口 ? 關(guān)閉呢?
  5. location 對象的常用方法與屬性?

單詞預(yù)習(xí)

  • document 文檔
  • get 獲取
  • element 元素
  • By 通過
  • name 名字
  • Tag 標(biāo)簽名
  • display 呈現(xiàn),顯示
  • style 樣式
  • none 沒有
  • checked 選中

知識點講解

3.1 獲取元素

方法 描述
getElementById() 返回對擁有指定id的第一個對象的引用
getElementsByName() 返回帶有指定名稱的對象的集合
getElementsByTagName() 返回帶有指定標(biāo)簽名的對象的集合
getElementsByClassName() 返回帶有指定class名的對象的集合(ie8)以下不兼容
querySelector() 返回指定css選擇器對象的第一個(新版本瀏覽器才行)
querySelectorAll() 返回指定css選擇器對象的集合(新版本瀏覽器才行)

案例 getElementById

function changeNode(){
    var node=document.getElementById("node");
    if(node.innerHTML=="新浪"){
        node.innerHTML="搜狐";
    }else{
        node.innerHTML="新浪";
    }
    
}

<div id="node">新浪</div>
<input name="b1" type="button" value="改變層內(nèi)容" onclick="changeNode()" />
image.png

結(jié)果

image.png

案例 getElementsByTagName

function showInput(){
    var s=document.getElementById("s");
    var inputs=document.getElementsByTagName("input");
    var str="";
    for(var i=0;i<inputs.length;i++){
        str+=inputs[i].value+"<br/>";
    }
    s.innerHTML=str;
}

<input name="season" type="text" value="春" />
<input name="season" type="text" value="夏" />
<input name="season" type="text" value="秋" />
<input name="season" type="text" value="冬" />
<br /><input name="b2" type="button" value="顯示input內(nèi)容" onclick="showInput()"  />
<input name="b3" type="button" value="顯示season內(nèi)容" onclick="showSeason()"  />
<p id="s"></p>
點擊前
點擊 顯示input內(nèi)容 后

案例 getElementsByName

function showSeason(){
    var s=document.getElementById("s");
    var season=document.getElementsByName("season");
    var str="";
    for(var j=0;j<season.length;j++){
        str+=season[j].value+"<br>";
    }
    s.innerHTML=str;
    
}

點擊前
點擊顯示season內(nèi)容后

3.2 顯示/隱藏

描述
visible 表示元素是可見的
hidden 表示元素是不可見的

visibility屬性的值

描述
visible 表示元素是可見的
hidden 表示元素是不可見的

object.style.visibility="值"


描述
none 表示此元素不會被顯示
block 表示此元素將顯示為塊級元素
inline-block 行內(nèi)的塊

display屬性的值

描述
none 表示此元素不會被顯示
block 表示此元素將顯示為塊級元素
inline-block 行內(nèi)的塊

object.style.display="值"



點擊前
點擊 visibility后
點擊display隱藏后

js

function hidden1(){
    var b2=document.getElementById("b2");
    if(b2.style.visibility!="hidden"){
        b2.style.visibility="hidden"
                  // 隱藏圖像還占原來的位置
    }else{
        b2.style.visibility="visible"
    }
}
function hidden2(){
    var b2=document.getElementById("b2");
    if(b2.style.display!="none"){
        b2.style.display="none"
                // 隱藏圖像不占原來的位置
    }else{
        b2.style.display="inline-block"
    }
}

html

![](images/book1.jpg)
![](images/book2.jpg)
![](images/book3.jpg)<br />
<input name="btn1" type="button" value="visibility隱藏圖b2" onclick="hidden1()"/>
<input name="btn2" type="button" value="display隱藏圖b2" onclick="hidden2()"  />

3.3 樹形菜單

樹形菜單

3.4 全選效果

  • 復(fù)選框的checked屬性值
    選中:true
    未選中:false
  • onchange 事件 當(dāng)表單發(fā)生改變時觸發(fā)
思路
1 為每一個checkbox添加一個onchange事件
for(var i = 0, len = 單選框集合.length;  i++) {
    單選框集合[i].onchange = function() {
        checkAllChecked();       
    }
}
2, 查看是否是全選
function checkAllChecked() {
    var isSelected = true; //全選是否會選中
    // 循環(huán)每一個多選框
    for(;;) {
        if(是否沒有被選中) {
            isSelected = false;
            break; //退出來
        }
    }
    allCheck.checked = isSelected;
   // 設(shè)置全選按鈕
}

3. 設(shè)置全選
allCheck.onchange = function() {
  if(如果全選按鈕被選中){
     // 循環(huán)所有的單選框都設(shè)置選中
  }else{
      // 循環(huán)所有的單選框都設(shè)置不選中
    }
}
全選效果

擴展 (有時間講)

eval(str) 把字符串當(dāng) js執(zhí)行一次(小心使用)


計算器擴展

總結(jié)

  1. 獲取元素有哪些方法
  2. 如果設(shè)置元素的顯示與隱藏
  3. 如何設(shè)置單選框被選中 或者不被選中
  4. 表單發(fā)生改變觸發(fā)的事件是什么

作業(yè)

  1. 全選
  2. 步進(jìn)器
步進(jìn)器
  1. 實現(xiàn)簡易的計算器(選做)
  2. getElementsByClassName 不兼容怎么辦(選做)
請自行百度  getElementsByClassName 如何兼容
提示
className 獲取元素 class 的屬性值 
elem.className.indexOf(classname+" ") != -1 
|| elem.className.indexOf(" "+classname+" ") != -1
|| elem.className.indexOf(" "+classname) != -1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 14,209評論 1 92
  • 第一章 jQuery簡介 1-1 jQuery簡介 1.簡介 2.優(yōu)勢 3.特性與工具方法 1-2 環(huán)境搭建 進(jìn)入...
    mo默22閱讀 1,785評論 0 11
  • jQuery基礎(chǔ)(一)——樣式篇 1-2環(huán)境搭建 1-3 jQuery HelloWorld體驗 $(docume...
    croyance0601閱讀 1,177評論 0 8
  • 一、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進(jìn)入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,686評論 0 44
  • 這幾天雖然把事情轉(zhuǎn)讓了!唉~人反而更加擔(dān)憂,再加上丫頭要伺候,這大半夜的我的半個大腦連通鼻子塞了!半個頭實在難...
    夕子寧洋閱讀 438評論 1 0

友情鏈接更多精彩內(nèi)容