现在的位置: 首页 > 综合 > 正文

javascript基础。dom操作

2012年01月29日 ⁄ 综合 ⁄ 共 4648字 ⁄ 字号 评论关闭

属性/方法

类型/返回类型

说明

nodeName

String

节点的名字<div> <span>

nodeValue

String

节点的值 div的内容

nodeType

Number

节点的类型常量值之一

firstChild

Node

指向childNodes列表的第一个节点

lastChild

Node

指向childNodes列表中的最后一个节点

childNodes

NodeList

所有子节点的列表

previousSibling

Node

指向前一个兄弟节点,如果这个节点是第一个,则返回为null

removeChild(node)

Node

childNodes中删除node

replaceChild(newnode,oldnode)

Node

childNodes中的oldnode替换成newnode

insertBefore(newnode,refnode)

Node

childNodes中的refnode之前插入newnode

3.4:创建和操作节点

1)      创建新节点

createDocumentFragment()

创建文档碎片节点

createElement(tagname) 用的比较多

创建标签名tagname的元素

createTextNode(text)

创建包含文本text的文本节点

appendChild()

添加子元素

操作节点

removeChild()

删除一个节点

replaceChild()

替换一个节点的内容

insertBefor()

在一个节点之前插入新节点

 

如:有以下HTML页面

<html><head><title>createElementd() Example</title> </head>

   <body> </body>

</html>

如:现在想使用DOM来添加下列代码到此页面上

<p>Hellow World!</p>

则:

var Op = document.createElement(“p”);

var oText = document.createTextNode(“Hellow World”);

Op.appendChild(oText);

document.body.appendChild(Op);

注意:在这里对于DOM的操作必须在页面完全载入之后才能进行。

动态创建节点

function CreateP(){
var Op = document.createElement("p");
var oText = document.createTextNode("Hellow World");
                Op.appendChild(oText);
                document.body.appendChild(Op); }
<input type="button" value="createElement" onclick="CreateP()"/>

<html> <head> <title> DOM Simple </title> </head> <body>

 <p> Hellow</p>
 <p> how are you?</p>

<p> ok</p>

</body></html>

Eg:

function removeElement()

var oP = document.body.getElementsByTagName("p")[0];//获取文档p标签集合的第一个

//document.body.removeChild(oP);

oP.parentNode.removeChild(oP);

}

function ReplaceElement(){

   var oNewP = document.createElement("p");

   var oText = document.createTextNode("aaaaaaaaaaaaaaaa");

   oNewP.appendChild(oText);//添加到段落

    var oOldP= document.body.getElementsByTagName("p")[0];//得到第一个段落的引用

    oOldP.parentNode.replaceChild(oNewP,oOldP);}//oNewP替换调oOldP

function insertElement() {

var oNewP = document.createElement("p");

var oText = document.createTextNode("aaaaaaaaaaaaaaaa");

oNewP.appendChild(oText);

var oOldP= document.body.getElementsByTagName("p")[0];

document.body.insertBefore(oNewP,oOldP);}

 

 

利用javascript操作domcss元素

CSS样式特性

Javascript样式属性

color

style.color

font

style.font

background-color

style.backgroundColor

font-family

style.fontFamily

Eg

<input type = "button" value="click me"

onmouseover="this.style.backgroundColor='black';this.style.color='white'"//背景变黑色文字变白色

onmouseout="this.style.backgroundColor='white';this.style.color='black'" style="background-Color:white;color:black"/>

注意:可以用style.cssText来得到一个对象上所应用的css字符串

案例一

<a href="javascript:void(0)" onmouseover="showTip(event)"

onmouseout = "hiddenTip(event)">click me</a>

style="background-color:Yellow;position:absolute;visibility:hidden;padding:5px;">

 <span>这是我自己写的提示<br />这是我自己写的提示</span></div>

position:absolute; 决定定位,根据页面的进行定位

 

<script type="text/javascript">

    function showTip(oEvent)

    {

    //alert(document.documentElement.scrollTop);

       var oDiv = document.getElementById("divTip1");//得到div的引用

       oDiv.style.visibility ="visible"; //显示一个提示

       oDiv.style.left = document.documentElement.scrollLeft+ oEvent.clientX+5;

//这个div的坐标改为 x的坐标+5

oEvent是鼠标的,如

scrollLeft() 方法返回或设置匹配元素的滚动条的水平位置。滚动条的水平位置指的是从其左侧滚动过的像素数。当滚动条位于最左侧时,位置是 0。

scrollTop 滚动条的一个定位

       oDiv.style.top = document.documentElement.scrollTop+oEvent.clientY+5;

//这个div的坐标改为y的坐标+5

    }

    function hiddenTip(oEvent)

    { var oDiv = document.getElementById("divTip1");

        oDiv.style.visibility = "hidden";  }

    </script>

 

 

 

 

案例2:折叠

<div id="divTitle" style="width:200px;height:20px;background-color:blue;cursor:pointer" onclick="toggle('divContent')"></div>

<div id="divContent" style="width:200px;height:50px;background-color:red;display:block">Content</div>

function toggle(div) {

 var mydiv = document.getElementById(div);

 if (mydiv) {

mydiv.style.display=mydiv.style.display == "none"?"block":"none"; }//显示和隐藏互相切换

}      动态注入CSS

function addhupoocss(cssfile){

var head = document.getElementsByTagName('HEAD').item(0);

var style = document.createElement('link');

style.href = cssfile;

style.rel = 'stylesheet'

style.type = 'text/css';

head.appendChild(style);

}

得到head元素。创建link这个元素,给这个link元素附属性(css文件),然后,添加到head标签里面

动态注入js

function addjs(jsfile){

var head = document.getElementsByTagName('HEAD').item(0);

var script = document.createElement('script');

script.src = jsfile;

script.type = 'text/javascript';

head.appendChild(script);

}

表格里面,选中一行,使改行变色

<input ID="chkID" type="checkbox" onclick="setRowColor(this)" /> 这个check控件
<body onload="init()">
function init(){
      var oTable = document.getElementById("GridView1");GridView1是表格id
  if (oTable){//如果得到了这个对象
      var oTrs = oTable.getElementsByTagName("tr");//得到所有的tr标签
           for(var i=1;i<oTrs.length;i++) {//从表格第二行(标题是第一行)
               oTrs[i].onmouseover=function(){
                       this.style.backgroundColor='yellow'; }//this指当前tr本身
                    oTrs[i].onmouseout=function(){
                       this.style.backgroundColor='white'; } } } }

 

抱歉!评论已关闭.