javascript一些常用函数

本文介绍了JavaScript中常用的DOM操作函数,包括创建、复制、添加、插入等,并提供了实现table行颜色间隔变化及鼠标悬停高亮显示的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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
    }

  }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值