国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JS前端知識點總結之頁面加載事件,數組操作,DOM節點操作,循環和分支

2024-05-06 16:53:03
字體:
來源:轉載
供稿:網友

本文實例講述了JS前端知識點總結之頁面加載事件,數組操作,DOM節點操作,循環和分支。分享給大家供大家參考,具體如下:

頁面加載事件的比較

  • window.onload
  • jquery 中的 document.ready
document.ready = function (callback) {  // 兼容FF,Google  if (document.addEventListener) {    document.addEventListener('DOMContentLoaded', function () {      document.removeEventListener('DOMContentLoaded', arguments.callee, false);      callback();    }, false)  }  // 兼容IE  else if (document.attachEvent) {    document.attachEvent('onreadystatechange', function () {       if (document.readyState == "complete") {            document.detachEvent("onreadystatechange", arguments.callee);            callback();        }    })  }  else if (document.lastChild == document.body) {    callback();  }}window.onload = function () {  alert('onload'); // 后執行};document.ready(function () {  alert('ready'); // 先執行});
  • 內部實現細節如上

數組的常用操作方法

  • push 從后面追加一個或多個,返回新數組的長度
  • unshift 從前面追加一個或多個,返回新數組的長度
  • pop 刪除最后一個元素,返回被刪除的元素
  • shift 刪除第一個元素,返回第一個被刪除的元素
  • concat 連接數組,返回新的數組
  • join 將數組轉字符串,參數是分隔符,默認是分隔符是逗號”,”
  • split 將字符串轉換為數組,默認分割符是逗號 stringObject.split(separator,howmany), howmany 參數可指定返回的數組的最大長度

js 的構成

  • ECMAScript 描述了js語法和基本對象
  • DOM (文檔對象模型) 提供了文檔結構化表示,并定義了如何通過腳本來訪問文檔結構
  • BOM (瀏覽器對象模型) 提供與瀏覽器交互的方法和接口

dom 節點

  • 標簽節點
  • 文字節點
  • 屬性節點
  • 注釋節點

獲取節點的方式

document.getElementById(“id”)document.getElementByTagName(“div”)document.getElementsByClassName(“classname”) ie 678 不支持document.querySelector(); // 返回第一個匹配的dom元素document.querySelectorAll(); // 返回所有dom元素匹配的集合

獲取瀏覽器是否支持的寫法如下

if(document.querySelector){ // do your business}

節點的訪問

父節點(唯一):

dom.parentNode

兄弟節點 (兼容寫法):

// nextSibling 和 previousSibling 是IE的寫法var next = (dom.nextElementSibling) || (dom.nextSibling);var pre = (dom.previousElementSibling) || (dom.previousSibling);

孩子節點 (兼容寫法):

// firstChild, lastChild 是IE的寫法var first = father.firstElementChild || father.firstChild;var last = father.lastElementChild || father.lastChild;

孩子們節點:childNodes 和 children

// childNodes 是w3c推薦使用, 但谷歌等瀏覽器把換行也看成一個節點// 用下面的方式實現,比較麻煩var demo = document.getElementById("demo");var nodes = demo.childNodes;for(var i=0;i<nodes.length;i++) { if(nodes[i].nodeType == 1) {  nodes[i].style.display = "none"; }}// children 在ie678里面包含注釋節點, 注意在編碼時避開使用注釋var demo = document.getElementById("demo");var child = demo.children;child[0].style.backgroundColor = "red";  // 第一個孩子child[child.length-1].style.backgroundColor = "red";  // 最后一個孩子

dom 節點操作

創建節點:

var dom = document.createElement(“div”);

添加節點:

// appendChild 將dom追加到dom1的最后面dom1.appendChild(dom) ;// insertBefore 將newDom 插入到 ReferencedDom 的前面, 返回值為新插入的值, dom1 為父節點dom1.insertBefore(newDom, ReferencedDom)

刪除節點:

removeChild() eg: domA.removeChild(domB); // 刪除domA里面的孩子節點domB

克隆節點: cloneNode 復制節點,接受一個布爾值,true表示深復制(復制節點及其內部所有節點), false 表示淺復制

// 深復制demo.cloneNode(true);// 淺復制demo.cloneNode(false);

屬性設定

非兼容ie6,7的寫法
- 獲?。篸om.getAttribute(“屬性”);
- 設置:dom.setAttribute(“屬性”,”值”);
- 刪除:dom.removeAttribute(“屬性”);

兼容寫法舉例:
- 獲取:var cn = dom.className
- 設置:dom.className = “dcl”
- 刪除:dom.className = null;

特殊樣式屬性

cssText 用于更改多個樣式屬性設置

dom.style.cssText = "width:30px;height:10px;"

常用的循環

  • for
  • while
  • do while

switch 多分支語句

var str = "abc";switch(str) { case "a"  // ...  break; case "b"  // ...  break; case "c"  // ...  break; case "abc"  // ...  break; default:  // ...}

 

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定陶县| 和田市| 牙克石市| 沅江市| 咸丰县| 伊川县| 海丰县| 黑水县| 云浮市| 贺州市| 周宁县| 尼勒克县| 康乐县| 沭阳县| 浠水县| 阿荣旗| 绥宁县| 渝北区| 深州市| 潜江市| 丹东市| 卢湾区| 霞浦县| 灵石县| 呼伦贝尔市| 嘉黎县| 汝阳县| 靖宇县| 东乌珠穆沁旗| 勐海县| 中宁县| 东莞市| 昆明市| 长岭县| 南汇区| 方正县| 富蕴县| 衢州市| 临漳县| 武胜县| 勃利县|