javascript一些常用函数

 javascript一些常用函数

1。常用dom函数

//  创建元素节点
referrer = document.createElement(element)
// 创建文本节点
referrer = document.createTextNode(text)
// 复制节点
referrer = document.cloneNode()
// 添加节点
referrer = document.appendChild(newChild)
// 插入节点
referrer = element.insertBefore(newNode,targetNode)
// 删除节点
referrer = element.removeChild(node)
// 替换节点
referrer = element.replaceChild(newChild,oldChild)
// 设置节点属性
element.setAttribute(attrName,attrValue)
// 查找节点
attrValue = element.getAttribute(attrName)
element
= document.getElementById(id)
elements
= document.getElementsByName(tagName)
booleanValue
= element.hasChildNodes()
// 节点属性
name = node.nodeName
type
= node.nodeType
value
= node.nodeValue
// 遍历节点树
nodelist = node.childNodes
firstChild
= node.firstChild
lastChild
= node.lastChild
nextSibling
= node.nextSibling
parentNode
= node.parentNode
previousSibling
= node.previousSibling

 2.公用javascript函数

// 加载页面onload事件
function  addLoadEvent(func)  {
  
var oldonload = window.onload;
  
if (typeof window.onload != 'function'{
    window.onload 
= func;
  }
 else {
    window.onload 
= function() {
      oldonload();
      func();
    }

  }

}


// 给定节点后添加新节点
function  insertAfter(newElement,targetElement)  {
  
var parent = targetElement.parentNode;
  
if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  }
 else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }

}


// 给定元素后添加class样式
function  addClass(element,value)  {
  
if (!element.className) {
    element.className 
= value;
  }
 else {
    newClassName 
= element.className;
    newClassName
+= " ";
    newClassName
+= value;
    element.className 
= newClassName;
  }

}


// 加亮导航条
function  highlightPage()  {
  
if (!document.getElementsByTagName) return false;
  
if (!document.getElementById) return false;
  
if (!document.getElementById("navigation")) return false;
  
var nav = document.getElementById("navigation");
  
var links = nav.getElementsByTagName("a");
  
for (var i=0; i<links.length; i++{
    
var linkurl = links[i].getAttribute("href");
    
var currenturl = window.location.href;
    
if (currenturl.indexOf(linkurl) != -1{
      links[i].className 
= "here";
      
var linktext = links[i].lastChild.nodeValue.toLowerCase();
      document.body.setAttribute(
"id",linktext);
    }

  }

}

 3。实现table行颜色间隔变化,以及选择加亮

function  stripeTables()  {
  
if (!document.getElementsByTagName) return false;
  
var tables = document.getElementsByTagName("table");
  
for (var i=0; i<tables.length; i++{
    
var odd = false;
    
var rows = tables[i].getElementsByTagName("tr");
    
for (var j=0; j<rows.length; j++{
      
if (odd == true{
        addClass(rows[j],
"odd");
        odd 
= false;
      }
 else {
        odd 
= true;
      }

    }

  }

}


function  highlightRows()  {
  
if(!document.getElementsByTagName) return false;
  
var rows = document.getElementsByTagName("tr");
  
for (var i=0; i<rows.length; i++{
    rows[i].oldClassName 
= rows[i].className
    rows[i].onmouseover 
= function() {
      addClass(
this,"highlight");
    }

    rows[i].onmouseout 
= function() {
      
this.className = this.oldClassName
    }

  }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值