面試題作用域
+function()
console.log(a)
function b(){}
b=6console.log(b)
var c=d=b
console.log(d)
console.log(c)
畫圖分析
(1) 節點樹狀圖
document>documentelement>body>tagname
我們常用的節點型別
元素節點(標籤
)1文字節點(文字節點)
2屬性節點(標籤裡的屬性
)3document有個屬性叫
nodetype
返回的是數字
1代表元素節點
2代表屬性節點
3代表文字節點
4節點的獲取
元素節點獲取有很多方法
document.getelementbyid()
document.getelementsbyclassname()
document.getelementsbytagname()
document.queryselector()
document.queryselectorall()
屬性節點的獲取
元素.attributes 獲取元素身上所有屬性構成的集合(陣列)
得到裡面的值
元素.attributes[1].value
元素.getattribute(「屬性名」) 獲取屬性值的方法
元素.setattribute(「屬性名」,」屬性值」) 給元素設定屬性和屬性值
元素.removeattribute(「屬性」) 刪除屬性
文字節點
沒有獲取的方法,沒有意思
5獲取元素的子節點
元素.childnodes 這個屬性有相容性 標準瀏覽器會獲取到文字節點
而低版本瀏覽器不會。所以建議使用children這個屬性。
獲取單個子節點
獲取第乙個孩子
標準下元素.firstelementchild
非標準下
元素.firstchild
相容下寫法
var list=document.getelementbyid("list")
var fist=list.firstelementchild||list.firstchild
console.log(fist)
獲取最後乙個子節點
元素.lastelementchild 元素
.lastchild
獲取上乙個兄弟節點
元素.previoussibling
元素.previouselementsibling
獲取下乙個兄弟節點
元素.nextsibling
6.獲取父節點
元素.parentnode 沒有相容性
元素.parentnode.parentnode
區分offsetparent和
parentnode
的區別dom2 動態建立節點
生成節點的方法 document.createelement(「div」)
2.插入節點的方法 父元素
新節點)
在父節點中的子節點後面插入新的節點
3.在指定的位置插入新的節點
(1) 父元素.insertbefore(新節點
,誰的前面
) 將新節點插入指定的元素前面
4,刪除元素節點 父元素
.removechild()
案例分析
元素.nextelementsibling
相容性 。
元素沒有子節點,ie低版本會讀取不到,而標準瀏覽器會。
因為標準瀏覽器會把文字節點當作子節點,而ie6-8不會。
超連結a的屬性
href
分析點選會重新整理頁面,相當於向後台傳送一次請求。
錨點跳轉 跳轉到某乙個id叫
s的位置上
取消重新整理頁面的功能
拓展字串拼接和dom建立都是渲染的方式
字串拼接
優點簡單,層次感強,可以處理大量資料
缺點:字串拼接會影響到原有子元素的事件
dom建立
優點:是乙個獨立的個體,不會影響到原有的元素
缺點:處理資料量過大會比較麻煩
,會造成
dom回流。
dom回流
頁面渲染時,我們對html結構簡單的增刪查改時,瀏覽器會對所有的
dom進行重新排列,這就是
dom回流,嚴重影響瀏覽器的效能。
補充提公升頁面效能優化
多採用雪碧圖
阻止超連結的預設行為
減少dom回流
減少向伺服器請求的次數
1230 元素查詢
時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond description 給出n個正整數,然後有m個詢問,每個詢問乙個整數,詢問該整數是否在n個正整數 現過。輸入描述 input description 第一行兩個整數 n 和m。第二行n個正整數 1 n 100000 ...
17 元素重排
package day7 元素重排,所有的奇數儲存到陣列左邊,所有偶數儲存到陣列右邊 不分大小 public class lianxi3 int arr 1.找到奇數與偶數的小標互換元素 2.建立兩個陣列 分別存放奇數與偶數 最後放入乙個陣列 兩個方法都可以 1.int left 1 int rig...
四元素還是向量?
四元素是描述運動物體姿態的終極 它是由威廉 哈密頓 william rowan hamilton 爵士1843年在愛爾蘭發現的。會中文的數學家 哈密頓生於愛爾蘭,他在十三歲前都受其叔父語言學家詹姆斯照顧。哈密頓很喜歡文學,在大學期間,他不但修讀數學,還有修讀經典文學。因此,他總共精通十二種語言。除了...