JS筆記—03(DOM編程)

來源:互聯網
上載者:User

標籤:超連結   append   attr   原理   eva   app   value   解決方案   parent   

1. 動態體現:HTML代碼載入到瀏覽器,代碼運行後改變文檔(DOM樹)增刪改查節點。
例如:ajax(不是新技術,是幾個技術的合體js+http後台操作)就是這樣的原理

2.js對象(瀏覽器對象、指令碼對象、HTML對象)

3.添加文本方法
 a.第一種建立文本節點
 建立元素節點:createElement()
 建立文本節點:createTextNode():也可以加空格用
 添加節點用appendChild();
 得值用:innerHTML
 b.第二種直接賦值
 innerHTML="":直接賦值
 得值用:NodeValue

4.給元素對象設定屬性
 a.第一種方法
 object.屬性=""
 b.第二種方法
 setAttribute("屬性", "值");
5.設定連結屬性
 .href="#";
 .onclick = function() {}
 this.代表當前對象,parentNode:父節點
6.加空格
 opra.innerHTML="<a href="#" onclick=‘upda(this)‘>更新</a>&nbsp <a href
 = "#" onclick=‘dela(this)‘>刪除</a>

7.元素a.innerHTML會重寫元素標記內容(覆蓋)
要顯示則用a.innerHTML+="html代碼";

8.三大重點元素:document. element. node

9最後一個省市聯動:IE和Firefox不相容,建議使用document.createElement();方法,
而不使用new Option();因為代碼會冗餘。


二、代碼中遇到的問題:

第一個例子:給節點賦值時,底層用文本節點:var txtNode = createTextNode()


   也可以:父節點.innerHTML直接賦值
從節點取值時,用innerHTML直接取值,
   也可以:txtNode.nodeValue直接取值;

第二個例子:ul列表輸出 nodeType.nodeName.nodeValue


 特註:++++++老師說當nodeType=1時是類型,=2時是名字,=3時是值++++。
 a. 可以用for(var i = 0;i < arr.length; i++)迴圈
 b. 也可以用for(x in arr) {
   if(x >= 0) {
    arr[x].nodeType

     }
    }


第三個例子:給div標籤裡添加超連結
注意使用innerHTML直接給div賦值時會發生超連結標籤覆蓋HTML內容的問題
解決方案:mydiv.innerHTML += "超連結代碼";
 有三個方法加<a href>:
 a.innerHTML直接賦值div標籤
 b.建立a標籤,設定屬性,設定內容,再依次添加div標籤
 c.建立a標籤,建立文本節點,設定屬性,再依次添加
標註:++++++老師說的是用appendChild():必須加的是對象而不是文本++++。

details:詳情
estimate/evaluate:評價

第四個例子:變幻面板:點選連結,改變下邊的面板的內容(用div來操控)


 div屬性:style = "display:none/block"
 none:不顯示div內容
 block:顯示div的
 注+++如果是超連結,則不能用window.onload = function() {}
 因為按鈕是只點擊一次,而超連結要多次變幻。

第五個例子:省市聯動


<select>標籤事件onchange():事件會在域的內容改變時發生。
清空列表:length = 1;(只有一個請選擇)

JS筆記—03(DOM編程)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.