之前寫了一大段都刪了,想了想沒必要介紹api的使用。queryselector queryselectorall這兩個api現在應該沒人不知道
這裡只簡單說下使用時容易遇到的兩個坑
document.queryselectorall返回的是靜態的nodelist,可以理解為某一時間的快照
舉個例子說就是如果乙個ul下有兩個li,現在我用queryselectorall獲取li,如果以後再動態的新增幾個li,queryselectorall返回的nodelist是不會包括後來動態新增的li的,而getelementbytagname獲取到的nodelist則是動態的,就算後來動態新增的元素一樣可以獲取到
另外一點是返回的結果可能與預想中的有偏差 id為test的元素中沒有div元素,但是返回的並不是空陣列,可以自行實驗一下helloi'am a ninja
var a = document.getelementbyid('test').queryselectorall('div b');
console.log(a);
下面是jq的作者給出的乙個方法,使其正確的匹配,首先必須為元素賦予元素乙個唯一的id,並且稍後將原始的id恢復回去,然後將id 拼接在選擇器前面(function()
catch(e)
finally
}}) ()
var b = rootedqueryselectorall(
document.getelementbyid('test'),
'div b'
)console.log(b);
如何javascript獲取css中的樣式
obj.style.height只能獲取行間樣式,但是我們要怎麼獲取寫在css檔案中的樣式呢?首先我們要用乙個新的方法currentstyle.這個方法由current和style兩個單詞組成意思是 目前的樣式.也就是載入css檔案後取出來的樣式.currentstyle的用法是 元素.curren...
Javascript 改變CSS樣式
有三種方法 直接改變樣式 改變classname和改變csstext 改變classname document.getelementbyid obj classname 改變csstext document.getelementbyid obj style.csstext width 20px bo...
JavaScript操作css樣式
在html中樣式定義分為內部css和外部css兩種 內部css 定義 使用style屬性針對特定元素的樣式 讀取 設定單個內部樣式 a.element.style.propertyname b.element.style.getpropertyvalue propertyname element.s...