亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript針對網頁節點的增刪改查用法實例

2019-11-20 13:15:03
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript針對網頁節點的增刪改查用法。分享給大家供大家參考。具體分析如下:

一、基本概念

這部分也就是所謂的“HTML DOM”,所謂HTML DOM也就是Web頁面加載規則,是一個規則,也就是網頁組成的基本公式。

也就是所有網頁都必須按照:<html><body></body></html>……的規則編寫,也按照這樣的規則加載。

所謂的“網頁節點”,也叫“DOM節點”的通俗解釋,例如html節點下的內容就是<html></html>之間所有內容,body節點下的內容就是<body></body>之間的所有內容。

HTML DOM是這樣規定的:1、整個文檔是一個文檔節點;2、每個 HTML 標簽(意指<body><table>等html標簽,而不是單純的<html>標簽)是一個元素節點;3、包含在 HTML 元素中的文本是文本節點;4、每一個 HTML 屬性是一個屬性節點
譬如,可以把某個頁面畫成如下的DOM節點樹:

HTML DOM的官方定義如下:HTML DOM是HTML Document Object Model(文檔對象模型)的縮寫,HTML DOM則是專門適用與HTML/XHTML的文檔對象模型。熟悉軟件開發的人員可以將HTML DOM理解為網頁的API。它將網頁中的各個元素都看作一個個對象,從而使網頁中的元素也可以被計算機語言獲取或者編輯。 例如Javascript就可以利用HTML DOM動態的修改網頁。

而使用JavaScript能輕松對于這些DOM節點進行網頁節點的增刪改查的控制。

二、基本目標

使用JavaScript對網頁的節點進行增刪改查的操作。在一個網頁中有:

1、”增加節點“按鈕,此按鈕在增加節點的同時,增加與”替換按鈕“相關聯的下拉菜單中的節點選項。如果網頁中存在著9個節點,則不讓添加并彈窗警告。

2、”刪除最后一個節點“按鈕,此按鈕在減少節點的同時,減少與”替換按鈕“相關聯的下拉菜單中的節點選項。

3、”替換節點內容“按鈕,首先選擇需要操作的節點,然后輸入要替換的內容,就會替換相應的節點。

4、如果網頁中沒有任何節點,則不讓刪除與替換,并彈窗警告。

三、制作過程

不用配置任何環境,直接在網頁中寫入如下代碼,具體代碼如下,下面再一部分一部分進行說明:

復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//pD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/pD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <title>jsdivnode</title> 
<script type="text/javascript"> 
var i = 0; 
 
function createnode() { 
    if (i < 9) { 
        i++; 
        var option = document.createElement("option"); 
        option.value = i; 
        option.innerHTML = "Node" + i.toString(); 
        document.getElementById("number").appendChild(option); 
 
        var p = document.createElement("p"); 
        p.innerHTML = "Node" + i.toString(); 
        document.getElementById("d").appendChild(p); 
    } else 
        alert("爺行行好了,太多節點,臣妾做不到啊~"); 

 
function removenode() { 
    if (i > 0) { 
        i--; 
        var s = document.getElementById("number"); 
        s.removeChild(s.lastChild); 
        var d = document.getElementById("d"); 
        d.removeChild(d.lastChild); 
    } else 
        alert("沒有節點,刪個毛線啊~"); 
 
    /*var ps = d.getElementsByTagName("p");*/ 
    /*document.getElementById("d").removeChild(ps[9]); */ 

 
function replacenode() { 
    if (i > 0) { 
        var d = document.getElementById("d"); 
        var p = document.createElement("p"); 
        p.innerHTML = document.getElementById("text").value; 
        var ps = d.getElementsByTagName("p") 
        d.replaceChild(p, ps[document.getElementById("number").value - 1]); 
    } else 
        alert("沒有節點,替換個毛線啊~"); 

</script> 
    </head> 
 
    <body> 
        <input type="button" value="創建節點" onclick="createnode()" /> 
        <input type="button" value="刪除最后一個節點" onclick="removenode()" /> 
        <select id="number"></select> 
        <input type="text" id="text" /> 
        <input type="button" value="替換節點內容" onclick="replacenode()" /> 
        <div id="d"> 
        </div> 
    </body> 
</html>

1、<body>節點

復制代碼 代碼如下:
<body> 
    <!--按鈕x2,此兩個按鈕都有onclick動作指向相應的函數--> 
    <input type="button" value="創建節點" onclick="createnode()" /> 
    <input type="button" value="刪除最后一個節點" onclick="removenode()" /> 
       <!--一個沒有<option>子節點的下拉菜單,由createnode()節點的同時,同時添加。--> 
    <select id="number"></select> 
       <!--輸入框x1,注意設置好id,replacenode()要取這個文本框的值--> 
    <input type="text" id="text" /> 
       <!--按鈕x1,同上面的按鈕x2--> 
    <input type="button" value="替換節點內容" onclick="replacenode()" /> 
       <!--一個什么都沒有的空圖層,作為<p>的父節點,添加的<p>皆是此<div>節點的子節點--> 
    <div id="d"> 
    </div> 
</body>

2、<head>節點

復制代碼 代碼如下:
<head> 
    <!--網頁使用的編碼、標題,這不重要,關鍵是下面的js腳本部分--> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <title>jsdivnode</title> 
<script type="text/javascript"> 
/*記錄了當前網頁有多少個節點的全局變量*/ 
var i = 0; 
/*下方有3個函數。當按鈕被點擊時候則被調用*/ 
function createnode() { 
    /*如果網頁中的節點少于9個,才工作,否則彈窗*/ 
    if (i < 9) { 
        /*每多加一個節點,記錄了當前網頁有多少個節點的全局變量i+1*/ 
        i++; 
        /*創建option節點,然后其指針名字也叫option*/ 
        var option = document.createElement("option"); 
        /*聲明創建的option節點的value屬性為當前i的值,也就是當i=1時,有<option value=1></option>這樣的子節點了。*/ 
        /*部分網頁說用setAttribute()方法去設置屬性,親自實踐發現并不好用*/ 
        option.value = i; 
        /*設置option節點下面的文本,此語句過后,子節點變為<option value=1>Node1</option>*/ 
        option.innerHTML = "Node" + i.toString(); 
        /*<select>父節點的ID是number,此語句要求在在<select></select>父節點下增加<option value=1>Node1</option>*/ 
        document.getElementById("number").appendChild(option); 
         
        /*道理與上面同,在<div>父節點下增加<p>子節點,且<p>子節點下的文本值為Node1*/ 
        var p = document.createElement("p"); 
        p.innerHTML = "Node" + i.toString(); 
        document.getElementById("d").appendChild(p); 
    } else 
        alert("爺行行好了,太多節點,臣妾做不到啊~"); 

 
function removenode() { 
    /*如果網頁中的節點多于0個,也就是存在節點,才工作,否則彈窗*/ 
    if (i > 0) { 
        /*每減少一個節點,記錄了當前網頁有多少個節點的全局變量i-1*/ 
        i--; 
        /*定義指向<select>父節點的指針s*/ 
        var s = document.getElementById("number"); 
        /*刪除<select>父節點旗下的最后一個子節點,也就是<option>,如果你要刪第一個則參數變為s.firstChild*/ 
        s.removeChild(s.lastChild); 
         
        /*道理同上,刪除<div>圖層下的最后一個子節點*/ 
        var d = document.getElementById("d"); 
        d.removeChild(d.lastChild); 
        /*如果你要刪除<div>下的第8個<p>請如下操作*/     
        /*ps是指向<p>子節點集的指針*/ 
        /*var ps = d.getElementsByTagName("p");*/ 
        /*document.getElementById("d").removeChild(ps[9]); */ 
         
    } else 
        alert("沒有節點,刪個毛線啊~"); 

 
function replacenode() { 
    /*如果網頁中的節點多于0個,也就是存在節點,才工作,否則彈窗*/ 
    if (i > 0) { 
        /*定義指向<div>父節點的指針d*/ 
        var d = document.getElementById("d"); 
        /*創建一個<p></p>節點*/ 
        var p = document.createElement("p"); 
        /*拿到文本框所輸入的東西,放到<p></p>節點里面*/ 
        p.innerHTML = document.getElementById("text").value; 
        /*ps是指向<div>父節點下的<p>子節點集、子節點群的指針*/ 
        var ps = d.getElementsByTagName("p") 
        /*讓剛剛創建的節點替換<div>下的第n個<p>子節點,其中n是現在下拉列表所選擇的值-1,之所以要-1,是因為子節點集、子節點群的計數是從0開始的,而我們人的計數是從1開始的。*/ 
        d.replaceChild(p, ps[document.getElementById("number").value - 1]); 
    } else 
        alert("沒有節點,替換個毛線啊~"); 

</script> 
</head>

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九综合九九综合| 欧美中文在线视频| 在线视频国产日韩| 久久中文字幕在线| 国产精品高精视频免费| 日韩欧美国产成人| 一本大道亚洲视频| 久久久久久一区二区三区| 色婷婷成人综合| 在线视频免费一区二区| 国产mv免费观看入口亚洲| 亚洲国产日韩欧美在线99| 5278欧美一区二区三区| 欧美老妇交乱视频| 亚洲毛片一区二区| 欧美丰满少妇xxxxx做受| 亚洲欧美日韩国产精品| 国产999视频| 色黄久久久久久| 69**夜色精品国产69乱| 亚洲成人av片在线观看| 欧美成人亚洲成人| 亚洲欧美综合另类中字| 成人h视频在线观看播放| 国产日韩在线免费| 国产日本欧美一区| 日韩经典中文字幕在线观看| 欧美性高潮床叫视频| 欧美视频在线看| 日韩精品中文字| 97国产一区二区精品久久呦| 91日韩在线播放| 欧美日韩在线视频首页| 欧美性xxxx极品高清hd直播| 91免费视频网站| 日本电影亚洲天堂| 亚洲成人久久一区| 国产精品爱久久久久久久| 亚洲电影中文字幕| 亚洲欧美国产日韩天堂区| 成人日韩在线电影| 日韩一区二区精品视频| 97国产真实伦对白精彩视频8| 日韩欧美在线第一页| 亚洲成人精品久久| 国产成人精品电影久久久| 日韩欧美aⅴ综合网站发布| 欧美日韩国产第一页| 久久视频国产精品免费视频在线| 91久久久在线| 欧美亚洲另类制服自拍| 国产成人精品午夜| 一本色道久久88综合亚洲精品ⅰ| 亚洲欧美另类国产| 日韩人在线观看| 亚洲精品国产综合区久久久久久久| 国产一区视频在线播放| 日韩免费av片在线观看| 久久香蕉频线观| 亚洲欧洲av一区二区| 亚洲免费伊人电影在线观看av| 久久国产精品99国产精| 久久九九国产精品怡红院| 欧美黄网免费在线观看| 亚洲天堂一区二区三区| 亚洲老司机av| 91精品久久久久久久久久久久久| 久久精品国产亚洲精品2020| 日韩中文字幕网| 国产91精品久久久| 欧美精品久久一区二区| 久久综合五月天| 亚洲精品一区久久久久久| 日韩在线观看你懂的| 久久精品视频va| 亚洲黄在线观看| 色婷婷综合久久久久中文字幕1| 成人中心免费视频| 最新91在线视频| 91夜夜未满十八勿入爽爽影院| 欧美一级片免费在线| 欧美国产日韩免费| 中文国产亚洲喷潮| 欧美电影免费看| 成人黄色片在线| 91久久精品久久国产性色也91| 中文字幕亚洲无线码在线一区| 欧美精品激情视频| 97国产精品视频人人做人人爱| 国产免费亚洲高清| 久久精视频免费在线久久完整在线看| 国产亚洲精品一区二区| 68精品国产免费久久久久久婷婷| 色综合久久天天综线观看| 中文字幕久久久| 国产日韩精品综合网站| 国产69精品久久久久9999| 日本韩国在线不卡| 国产精品va在线播放| 亚洲日本中文字幕| 在线精品视频视频中文字幕| 亚洲自拍偷拍视频| 日韩av第一页| 在线观看国产精品91| 欧洲精品在线视频| 欧美日韩国产专区| 91av成人在线| 亚洲美女av网站| 日韩一区视频在线| 日韩av高清不卡| 欧美黄色片免费观看| 国产精品久久久久久一区二区| 国产精品入口日韩视频大尺度| 久久精品久久久久电影| www.xxxx精品| 欧美精品在线观看| 欧美黄网免费在线观看| 久久久精品亚洲| 国产精品视频久久久| 日韩不卡中文字幕| 亚洲男人第一网站| 久久国产精品首页| 国产成人精品电影| 欧美成人sm免费视频| 韩国视频理论视频久久| 日本精品免费一区二区三区| 亚洲人成网站999久久久综合| 黑人极品videos精品欧美裸| 国产精品99久久久久久www| 久久精品电影一区二区| 亚洲free性xxxx护士白浆| 最新日韩中文字幕| 91亚洲人电影| 国产精品入口免费视频一| 久久亚洲精品小早川怜子66| 久久久国产视频| 亚洲一区二区自拍| 成人av在线天堂| 日韩av男人的天堂| 亚洲国产欧美日韩精品| 九九热最新视频//这里只有精品| 国产手机视频精品| 欧美亚洲另类在线| 97色在线观看| 欧美与欧洲交xxxx免费观看| 97超视频免费观看| 欧美成人sm免费视频| 日韩精品免费观看| 欧美富婆性猛交| 国产999精品久久久| 日本精品视频在线播放| 91情侣偷在线精品国产| 国产专区欧美专区| 欧美中文在线视频| 91在线观看免费高清| 蜜月aⅴ免费一区二区三区| 欧美成人全部免费| 久久精品久久久久久| 中文字幕久久久av一区| 7777精品久久久久久| 日本不卡视频在线播放| 欧美国产日韩中文字幕在线| 国产精品羞羞答答| 夜夜嗨av一区二区三区免费区|