DHTML

DHTML

DHTML:Dynamtic HTML 動(dòng)態(tài)的html (這個(gè)動(dòng)態(tài)指的是動(dòng)態(tài)變化)
DHTML不是一門(mén)新的技術(shù)盈蛮,而是將已有的HTML,CSS,JS整合在一起云稚,實(shí)現(xiàn)了通過(guò)JS訪問(wèn)元素和css屬性嘉竟。
在DHTML中腌乡,是通過(guò)JS訪問(wèn)html元素或者css屬性挺智,使得頁(yè)面具有動(dòng)態(tài)的變化扎筒,從而和用戶具有了交互的行為综慎。

 function changeDiv()
        {
            /*獲取div元素*/
            var div=document.getElementById("div1");//div對(duì)象表示這個(gè)元素
            /*改變div的寬度,高度,邊框,背景色 字體大小涣仿、顏色*/
            div.style.width="100px";
            div.style.height="100px";
            div.style.border="5px solid red";
            div.style.background="pink";
            div.style.fontSize="2em";
            div.style.color="white";
        }

工作原理

在DHTML中,將所有html元素都使用一個(gè)一個(gè)的js對(duì)象表示
通過(guò)對(duì)象來(lái)表示html元素示惊,通過(guò)對(duì)象之間的包含關(guān)系好港,來(lái)表示元素之間的層級(jí)關(guān)系、
通過(guò)調(diào)用對(duì)象的屬性和方法米罚,來(lái)間接改變?cè)氐膶傩院托袨椤?br> 通過(guò)這種方式使得JS可以訪問(wèn)html元素和css屬性钧汹,讓頁(yè)面具有動(dòng)態(tài)的變化和用戶具有了交互行為。


DHTML工作原理

可以將DHTML分為兩部分內(nèi)容:
1BOM瀏覽器對(duì)象模型:和window瀏覽器窗口相關(guān)對(duì)象
2DOM文檔對(duì)象模型:和html文檔相關(guān)的對(duì)象
藍(lán)色為文檔樹(shù)录择,用樹(shù)表示文檔拔莱,文檔樹(shù)里全是對(duì)象碗降,用對(duì)象表示元素,用對(duì)象之間的關(guān)系表示元素的上下級(jí)關(guān)系或者層級(jí)關(guān)系辨宠。
紅色為BOM對(duì)象

BOM

browser object model 瀏覽器對(duì)象模型
提供了一套操作瀏覽器的api

window

代表瀏覽器中一個(gè)打開(kāi)的窗口
1window對(duì)象的常用方法
(1)alert();--定義一個(gè)消息對(duì)話框

        /*window對(duì)象*/
        window.alert("alert");

(2)confirm();--定義一個(gè)確認(rèn)對(duì)話框

        /*window對(duì)象*/
        var res=window.confirm("Confirm please!");
        if(res)
        {
            alert("confirm success!");
        }
        else{
            alert("be canceled!");
        }

(3)setInterval();--定義一個(gè)循環(huán)定時(shí)器遗锣,清除定時(shí)器clearInterval()

        /*循環(huán)定時(shí)器*/
        setInterval(function(){
            document.write(new Date().getTime()+"<br/>");
        },1000);
        var i=0;
        var timer=setInterval(function(){
            document.write(new Date().getTime()+"<br/>");
            i++;
            if(i==3)clearInterval(timer);
        },1000);

(4)setTimeout();--定義一個(gè)一次性定時(shí)器,清除定時(shí)器clearTimeout()

        setTimeout(function(){
            document.write("TimeOut"+"<br/>")
        },1000);

2window對(duì)象的常用事件

winow.onload()

在js獲取元素時(shí),如果獲取元素的代碼元素被瀏覽器加載的時(shí)機(jī)還要嗤形,此時(shí)是獲取不到元素的精偿。
這里我們可以等待整個(gè)html文檔加載之后再執(zhí)行獲取元素的代碼,就一定能夠獲取得到赋兵。

    <script>
      /*在瀏覽器加載完整個(gè)html文檔之后立即執(zhí)行*/
        window.onload= function () {
            //1.獲取div元素
            var div=document.getElementById("div1");
            //2.通過(guò)div元素獲取div中的所有內(nèi)容
           alert(div.innerHTML);
        };
    </script>

<body>

<div id="div1">獲取div中的所有內(nèi)容笔咽。。霹期。</div>
</body>

DOM

document object model 文檔對(duì)象模型
提供了一套操作html元素和css屬性的api
表單項(xiàng)元素才有value

獲取html元素

1.通過(guò)元素的id獲取元素

(1)document.getElementById(id值);-通過(guò)元素的id值獲取指定的id元素
(2)元素.value:獲取或設(shè)置元素的value值

    function demo1(){
        //1.獲取用戶名輸入框元素(input元素)
        /*
        * input value值就是輸入框中的內(nèi)容
        * select value值就是選中的option的value值或option的值
        * textarea value值就是輸入框中的內(nèi)容
        */
        var inp=document.getElementById("username");
        //2.獲取用戶名輸入框的value值
        alert(inp.value);
                inp.value="李四";
    }
    
2.通過(guò)元素的name獲取元素

(1)document.getElementsByName(name屬性值);-通過(guò)元素的name屬性值獲取指定name的所有元素,返回的是一個(gè)集合數(shù)組(可以按照數(shù)組的方式來(lái)訪問(wèn))

    /* --通過(guò)name屬性獲取并彈出密碼輸入框的值-- */
    function demo2(){
        //1.獲取密碼輸入框元素
        var arrInps=document.getElementsByName("password");
        var inp=arrInps[0];
        //2.通過(guò)密碼輸入框獲取其中的值
        alert(inp.value);
    }
3.通過(guò)標(biāo)簽名稱或元素名稱獲取元素

(1)document.getElementsByTagName(tagName);通過(guò)元素名稱獲取指定名稱的集合數(shù)組

    function demo3(){
        //1.獲取所有input元素組成的集合數(shù)組
        var arrInps=document.getElementsByTagName("input");
        //2.遍歷所有的input元素叶组,并獲取其value值
        for(var i=0;i<arrInps.length;i++){
            alert(arrInps[i].value);
        }
    }
4.獲取元素或設(shè)置元素

innerHTML:獲取或設(shè)置元素的所有內(nèi)容(既包含html元素也包含文本內(nèi)容)
innerText:獲取或設(shè)置元素的文本內(nèi)容(僅僅是文本)

    function demo4(){
        /*表單元素的value 元素的內(nèi)容*/
        //1.先獲取p元素
        var p=document.getElementById("pid");
        //2.通過(guò)p元素獲取p元素中的所有內(nèi)容  innerHTML(所有內(nèi)容) innerText(所有文本內(nèi)容)
        alert(p.innerHTML);
        alert(p.innerText);
        p.innerHTML="<a href='#'>替換內(nèi)容</a>";
        p.innerText="<a href='#'>替換內(nèi)容</a>";
    }

增刪改html元素

1創(chuàng)建元素
創(chuàng)建一個(gè)指定名稱的元素
document.createElement(tagName)
2添加元素
通過(guò)父元素調(diào)用方法添加子元素
父元素.appendChild()
3刪除元素
通過(guò)父元素添加方法刪除已有的子元素
父元素.removeChild(子元素)
4替換元素
通過(guò)父元素調(diào)用方法使用新元素替換已有的子元素
父元素.replaceChild(新元素,舊子元素)
5克隆或復(fù)制元素
obj.cloneNode();
6插入元素
父元素.insertBefore()

js動(dòng)態(tài)綁定事件

document.getElementById("b1").onclick=function(){};

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市历造,隨后出現(xiàn)的幾起案子甩十,更是在濱河造成了極大的恐慌,老刑警劉巖吭产,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侣监,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡臣淤,警方通過(guò)查閱死者的電腦和手機(jī)橄霉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)邑蒋,“玉大人姓蜂,你說(shuō)我怎么就攤上這事∫降酰” “怎么了钱慢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)遮咖。 經(jīng)常有香客問(wèn)我滩字,道長(zhǎng),這世上最難降的妖魔是什么御吞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任麦箍,我火速辦了婚禮,結(jié)果婚禮上陶珠,老公的妹妹穿的比我還像新娘挟裂。我一直安慰自己,他們只是感情好揍诽,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布诀蓉。 她就那樣靜靜地躺著栗竖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渠啤。 梳的紋絲不亂的頭發(fā)上狐肢,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音沥曹,去河邊找鬼份名。 笑死,一個(gè)胖子當(dāng)著我的面吹牛妓美,可吹牛的內(nèi)容都是我干的僵腺。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼壶栋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辰如!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起贵试,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤琉兜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后毙玻,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體呕童,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年淆珊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奸汇。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡施符,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出擂找,到底是詐尸還是另有隱情戳吝,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布贯涎,位于F島的核電站听哭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏塘雳。R本人自食惡果不足惜陆盘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望败明。 院中可真熱鬧隘马,春花似錦、人聲如沸妻顶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至幔嗦,卻和暖如春酿愧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背邀泉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工嬉挡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人呼渣。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓棘伴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親屁置。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焊夸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348