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

首頁 > 編程 > JavaScript > 正文

一些常用且實用的原生JavaScript函數

2019-11-21 00:15:15
字體:
來源:轉載
供稿:網友
css及html方面的技巧總結,點此前往: 前端開發中一些常用技巧總結, 你還可以前往蘭芝博客, 查看由淘寶UED整理的前端tips: http://www.12sui.cn/category/css/.
1. document.getElementById的簡寫: //m.survivalescaperooms.com/article/24762.htm;
2. getElementsByTagName的簡寫方式: //m.survivalescaperooms.com/article/24026.htm;
3. 原生JavaScript中獲取元素索引的函數: //m.survivalescaperooms.com/article/24763.htm;
4. 替代window.onload,可多次調用的加載函數:
復制代碼 代碼如下:

function iLoad(func) {
var oLoad=window.onload;
if(typeof window.onload!='function'){
window.onload=func;
}else{
window.onload=function(){
oLoad();
func();
}
}
}

5. 獲取下一個元素節點:
復制代碼 代碼如下:

function nextElem(node){
if(node.nodeType==1) return node;
if(node.nextSibling) return nextElem(node.nextSibling);
return null;
}

6. 獲取上一個元素節點(此函數須調用第五條中的函數):
復制代碼 代碼如下:

function prevElem(node){
if(node.nodeType==1){
return node;
}else if(node.previousSibling){
return nextElem(node.previousSibling);
}else{
return null;
}
}

7. 原生JavaScript中有insertBefore方法,可惜卻沒有insertAfter方法,怎么辦?用如下函數實現:
復制代碼 代碼如下:

function insertAfter(newChild,refChild){
var parElem=refChild.parentNode;
if(parElem.lastChild==refChild){
refChild.appendChild(newChild);
}else{
parElem.insertBefore(newChild,refChild.nextSibling);
}
}

8. 為元素添加樣式[記住是添加不是替換,相當于jQuery中的addClass(value)]:
復制代碼 代碼如下:

function addClass(elem,value){
if(!elem.className){
elem.className=value;
}else{
var oValue=elem.className;
oValue+=" ";
oValue+=value;
elem.className=oValue;
}
}

9. 獲取元素的樣式:
復制代碼 代碼如下:

function getStyle(id,stylename){
var elem=$(id);
var realStyle=null;
if(elem.currentStyle){
realStyle=elem.currentStyle[stylename];
}else if(window.getComputedStyle){
realStyle=window.getComputedStyle(elem,null)[stylename];
}
return realStyle;
}

10. 兼容事件綁定:
復制代碼 代碼如下:

function addEventSamp(obj,evt,fn){
if (obj.addEventListener) {
obj.addEventListener(evt, fn, false);
}else if(obj.attachEvent){
obj.attachEvent('on'+evt,fn);
}
}

11. 移除事件
復制代碼 代碼如下:

function removeEventSamp(obj,evt,fn){
if(obj.removeEventListener){
obj.removeEventListener(evt,fn,false);
}else if(obj.detachEvent){
obj.detachEvent('on'+evt,fn);
}
}

12. 檢測樣式
復制代碼 代碼如下:

function hasClass(element, className){
var reg = new RegExp('(//s|^)' + className + '(//s|$)');
return element.className.match(reg);
}

13. 刪除樣式
復制代碼 代碼如下:

function removeClass(element, className){
if (hasClass(element, className)) {
var reg = new RegExp('(//s|^)' + className + '(//s|$)');
element.className = element.className.replace(reg, ' ');
}
}

原文發布于Mr.Think的博客: http://mrthink.net/javascript-common-function-tip/

$()
復制代碼 代碼如下:

function $() {
var elements = [];
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}

toggle()

用來顯示或隱藏一個DOM元素。
復制代碼 代碼如下:

function toggle(obj) {
var el = document.getElementById(obj);
el.style.display=(el.style.display !="none"?"none":"")
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵阳市| 莒南县| 贡觉县| 商都县| 长子县| 米易县| 卢氏县| 应城市| 泸溪县| 大化| 卫辉市| 门源| 莆田市| 建阳市| 芦溪县| 偃师市| 蒙阴县| 玉田县| 库车县| 渝北区| 渝中区| 湛江市| 乌拉特中旗| 绍兴市| 泊头市| 英德市| 道孚县| 凭祥市| 桃江县| 上思县| 龙门县| 漳平市| 元朗区| 信阳市| 柳林县| 平和县| 抚州市| 高密市| 远安县| 孟津县| 和龙市|