8月24日

DOM创建节点:document.createElement(Tag)。

DOM复制节点:cloneNode(boolean deep),当deep为true时,表示复制当前节点以及当前节点的全部后代节点。为false时,只复制当前节点。

如function copy()

var li=ul.getEleentByTagName("li")[0];

//var newli=li.cloneNode(false);

var newli=li.cloneNode(true);

ul.appendChild(newli);

{

replaceChild(newNode,oldNode)将oldNode节点替换成newNode节点。

removeChild(oldNode)将old子节点删除。

如function del(){
    //获取最后一个节点的下标
    var index=ul.getElementsByTagName("li").length-1;
    //获取最后一个元素节点
    var li=ul.getElementsByTagName("li")[index];
    //删除节点
    ul.removeChild(li);
    
}

DOM为下拉菜单添加选项:new Option(text,value,defaultSelected,selected),该构造器有四个参数(text、value、defaultSelectde(设置默认是否显示该选项)、selected(设置该选项当前是否被选中))。同时并不是每一次构造都需指明4个参数,一个的时text,2个的是value.

直接为select的指定选项赋值。列表框或下拉菜单对象.options[i]=创建好的option对象。

直接使用列表框或下拉菜单对象.remove(index)方法删除指定选项,直接将指定选项赋值为null。列表框或下拉菜单对象。remove(index)或对象.options[index]=null

如//创建下拉菜单
var sel;
function create(){
    //创建下拉菜单元素节点
     sel=document.createElement("select");
    //给sel属性节点赋值
    sel.id="myselect";
    sel.size=3;
    
    //获取body元素节点
    var body=document.getElementsByTagName("body")[0];
    //将下拉菜单元素节点添加到body标签
    body.appendChild(sel);
    //创建选项节点
    for(var i=0;i<5;i++){
        //格式:选项节点=new option(文本节点,value属性节点)
        var op=new Option("选项"+i,i);
        //将选项添加到select标签
        sel.appendChild(op);
        }
}

如function del(){
    //获取最后一个option元素的下标
    var index=sel.options.length-1;
    //删除最后一个元素;
    sel.remove(index);
}

如//一次性清空option
function clear1(){
    //让options的数组长度变为0;
    sel.options.length=0;
    
}

DOM动态添加删除表格内容所用到的常用方法。

insertRow(index)在指定索引位置插入一行。

createCaption()为该表格创建标题。

deleteRow(index)删除表格中index索引处的行。

deleteCaption()删除表格标题

如//创建5行4列的表格
var table;
var body;
function create(){
    //创建table元素节点
     table=document.createElement("table");
    //设置属性
    table.border="1px";
    //获取body元素节点
    body=document.getElementsByTagName("body")[0];
    //将table标签添加至body;
    body.appendChild(table);
    //循环插入行
    for(var i=0;i<5;i++){
        var tr=table.insertRow(i);
    //插入4列
    for(var j=0;j<4;j++){
            var td=tr.insertCell(j);
    //添加文本节点;
    td.innerHTML=("第"+(i+1)+"行,第"+(j+i)+"列");
        }
    如//删除最后一行
function delrow(){
    //盘旋table中是否还有tr
    if(table.row.length>0){
        //获取最后一行的下标
    var index=table.rows.length-1;
    //删除最后一行
    table.deleteRow(index);
    }else{
        //所有行 都被删除,删除table标签
        body.removeChild(table);
    }
    
}

如//一列一列删除
function delCell(){
    if(table.rows[table.rows.length-1].cells.length>0){
    //获取最后一行tr的下标
    var index=table.rows.length-1;
    //获取最后一行的最后一列的下标
    var index2=table.rows[index].cells.length-1;
    //删除最后一列
    table.rows[index].deleteCell(index2);    
    }else{
        //删除最后一行
        table.deleteRow(table.rows.length-1);
    }
    
}

给表格行创建、删除单元格的方法。insertCell(index)在Index处创建一个单元格,返回新创建的单元格。deleteCell(index)删除某行在index索引处的单元格。

常见的时间类型ondblclick双击鼠标左键触发。onmousedown单击任意一个鼠标按键时触发。onmousemove鼠标移出一个元素边界时触发。onmousemove鼠标在某个元素上移动时持续触发。onmouseup松开鼠标任意一个按键时触发。onmouseover鼠标移到一个元素上是触发。

如<tittle>无标题文档</tittle>

<style>

#d1{

200px;

height:200px;

background:blue;

}

</style>

<script type="text/javascript">

function over (obj){

//当鼠标移上去变为红色

obj.style.background="red";

}

function out(obj){
//鼠标移走时变为蓝色

obj.style.background="blue";

}

</script>

</head>

<body>

<div id="d1" onMouseOver="over(this)" onMouseOut="out(this)"></div>

</body>

</html>

可以为元素添加多个事件。

this表示这个元素。

原文地址:https://www.cnblogs.com/maxuefeng/p/13554339.html