<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="box" qwe="張展亮" style="background:#000">
asdfsdf
</div>
</body>
<script type="text/javascript">
//獲取指定對象的樣式屬性getStyle (只讀)
var getStyle = function( obj , attr ){
return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj)[attr];
};
//用正則寫getClass(只讀)
var getClass = function(cName,obj){
obj = obj||document;
if (obj.getElementsByClassName)
{
return obj.getElementsByClassName(cName);
}
else
{
var arr = [];
var tagName = obj.getElementsByTagName('*');
var reg = new RegExp("\\b"+cName+"\\b");
for (var i = 0; i < tagName.length; i++) {
if (reg.test(tagName[i].class))
{
arr.push(tagName[i]);
}
}
return arr;
}
}
//node.nodeType 判斷節點類型
//childNodes 獲取元素的所有子節點 有兼容問題
//children 獲取元素所有的孩子元素節點 沒有兼容問題
//firstChild 獲取元素的第一個節點 有兼容問題
//firstElementChild 獲取元素的第一個元素節點 沒有兼容問題
//lastChild 獲取元素的第一個節點 有兼容問題
//lastElementChild 獲取元素的最後一個元素節點 有兼容問題
//nextSibing 獲取元素的下一個兄弟節點 有兼容問題
//nextElementSibing 獲取元素的下一個元素節點 有兼容問題
//previousSibing 獲取元素的上一個節點 有兼容問題
//previousElementSibing 獲取元素的上一個元素節點
//parentNode 獲取元素的父節點 不存在兼容問題
//offsetParent 獲取元素的最近定位父級 不存在兼容問題
//offsetLeft 獲取元素離他最近定位父級的left值 不存在兼容問題(只可讀)
//offsetTop 獲取元素離他最近定位父級的top值 不存在兼容問題(只可讀)
//offsetWidth 獲取元素的絕對寬度(邊框+內邊距+寬度) 不同瀏覽器有1px誤差 推薦使用
//offsetHeight 獲取元素的絕對高度(邊框+內邊距+高度) 不同瀏覽器有1px誤差
//clientWidth 獲取元素的絕對寬度(內邊距+寬度) 沒有誤差
//clientHeight 獲取元素的絕對高度(內邊距+高度) 沒有誤差
//scrollWidth 獲取元素的絕對寬度(內邊距+寬度) 沒有誤差,但如果有溢出則不同瀏覽器會有20px誤差 不推薦使用
//scrollHeight 獲取元素的絕對高度(內邊距+高度) 沒有誤差,但如果有溢出則不同瀏覽器會有20px誤差 不推薦使用
//getAttribute("屬性") 獲取元素的任意屬性(這個方法比較強硬)
//setAttribute("屬性","值") 向元素添加任意屬性(這個方法比較強硬)
//removeAttribute("屬性") 移除元素中的某個屬性
//obj.currentStyle["屬性"] 獲取元素最終的style 只可讀 只支持ie
//getComputedStyle(obj).["屬性"] 獲取元素最終的style 只可讀 支持非ie
/*
var getStyle = function(obj,attr){
return obj.currentStyle?obj.currentStyle[attr]:getComputed(obj)[attr];
}
*/
//表單部分單選和多選按鈕,選中是true,不選中是false
//document.body.scrollTop 獲取當前滾動高度(只兼容谷歌)
//document.documentElement.scrollTop 獲取當前滾動高度(只兼容非谷歌)
/*
var scrollTop = document.body.scrollTop||document.documentElement.scrollTop;
注意:如果要設置滾動高度兩個都要設置
*/
//pageX/Y 獲取觸點距離body左上角的距離 會隨着頁面滾動而變化 除ie8-不兼容外,其他都兼容
var oBox = document.getElementsByClassName("box")[0];
oBox.removeAttribute("class");
console.log(oBox.getAttribute("qwe"));
console.log(oBox.setAttribute("style","width:500px;height:500px;background:red"));
//下面是Bom(瀏覽器對象模型)
//Bom給我們提供一些方法操作我們的瀏覽器
//window.open()打開一個頁面(一般瀏覽器會把他當做垃圾,並攔截他) 參數1:打開的路徑 第二個參數:打開的位置(target)
//window.close()關閉當前頁面(一般瀏覽器都會阻止這個功能,也用不到)
/*
window.location用它可以獲取當前窗口的地址(他的類型是對象)
他的屬性有:
window.location.href:用它可以獲取當前窗口的地址(加上這個屬性,他的類型就變成了字符串)
window.location.search:在當前域名後面加上一個新的地址(一般用於把網頁指向一個後臺)
window.location.hash="#miaodian"形同與錨鏈接
href屬性舉例用法
window.location.href= "http://www.baidu.com";(跳轉到一個新的頁面)
*/
/*
window.console.time("test");
要測試的代碼(code)
window.console.timeEnd("test");
兩者一樣接收一個字符串作爲參數,字符串相當於計時的id。瀏覽器會將擁有相同參數(id)的console.time()與console.timeEnd()進行匹配,記錄兩者之間的時間差。因此,可以通過使用不同的id來對JavaScript程序中不同的地方進行計時
*/
//window.onscroll(當瀏覽器滾動時觸發該事件)
//window.onresize(當瀏覽器窗口改變大小的時候,會觸發這個事件)
//字符串操作
//new String(obj) 把對象的值轉換爲字符串(效果並不理想,不建議用)
//charAt() 獲取指定字符串索引處索引值
//charCodeAt() 獲取指定字符串索引處Unicode值
//length 屬性,直接返回字符串長度
//toUpperCase() 將字符串全部轉換爲大寫
//toLowerCase() 將字符串全部轉換爲小寫
//fromCharCode(numX,numX,...,numX) 將一系列Unicode值轉換爲字符串
//indexOf() 返回字符串中特定字符第一次出現的位置
//lastIndexOf() 返回字符串中特定字符最後一次出現的位置
/*
subString() 返回字符串中介於兩個指定下標之間的字符(兩個參數,都不能爲負,且第二個參數要比第一個大)
方法返回的子串包括 start 處的字符,但不包括 stop 處的字符
*/
//slice() 返回字符串的某個部分,並以新的字符串返回被提取的部分。
//match() 在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。
/*
search() 檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。
只檢索一次,如果是正則就算有g標識也沒用(忽略大小寫請加i)
*/
//concat() 用於將多個字符串拼加成一個字符串(可以有多個參數,按順序拼加)
//split() 將某個字符串分隔成多個字符串,可以指定分隔符
//replace() 將字符串中的某個子串以特定字符串替代
//arr.push(att) 向數組後面添加,返回數組長度
//arr.unshifu(att) 向數組前面添加,返回數組長度
//arr.pop() 刪除數組最後一個,返回刪除的哪個
//arr.shift() 刪除數組第一個,返回刪除的哪個
/*
arr.splice() 第一個參數爲要添加/刪除的起始位置
第二個參數爲要刪除的數量(0個代表不刪除)
第三個參數爲要添加的新內容
(0,1)從第0位開始刪除1個,返回刪除的哪個
(0,1,"a")把第0位開始的第一位替換爲"a"
(0,0,"a")在第0位後面添加"a"
*/
/*arr.sort() 按照字符編碼來排序
可傳函數參數
倒序可以用reverse
*/
//arr.jion() 以參數爲間隔符把數組轉換爲字符串,返回字符串
/*
setInterval 定時器
clearInterval 清楚定時器
setTimeout 延時定時器
clearTimeout 清除延時定時器
*/
</script>
</html>
js常用屬性及方法總結(溫習下舊知識)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.