Web前端-JavaScript--控制元素的方式

控制元素的5种方式

 1. 元素.style.css属性名=属性值
                操作的是元素的行内样式
box.style.backgroundColor="red";
  2. 元素.className="带样式的类名1 类名2"  操作元素样式
                此种方式是直接给元素设置一个或者多个类名
                要注意权值问题
box.className="co";
  3.元素.setAttribute("class","类名1  类名2...").;

                元素.setAttribute("style","属性名1:属性值1;属性名2:属性值2;")

                第一个是增加一个class类  第二个直接增加一个style行内样式属性
box.setAttribute("class","ft co");
   4.Html5新推出一个属性(有兼容问题)
                元素.classList.add("新类名1 新类名2...");
//                只是移除单个class
                元素.classList.remove("类名1")
//                判断是否包含指定类名
                元素.classList.contains("类名")
                切换显示类名   每次执行toggle方法 内部会自动判断
                当前元素是否具有该类名 没有就增加上
                如果有就删除掉
                元素.classList.toggle("类名");
 box.classList.add("co");
//            box.classList.remove("ft");
//            box.classList.toggle("co")
    5.元素.style.cssText="属性名1:属性值1;属性名2:属性值2...;属性名n:属性值n;"
                   直接修改标签的style属性的值
box.style.cssText="font-size:50px; background-color:blue;"

DOM节点的增删改操作

节点查询:
    包括五种获取页面元素的方式
    还有节点访问关系
创建节点:
var  新标签(节点) = document.createElement("标签名")
            调用者只能是document
    默认创建出来的是一个空标签
    btnArr[0].onclick=function () {
        var newDiv=document.createElement("div");
        newDiv.innerHTML="<p>哈哈哈</p>";
        box.appendChild(newDiv);
    }
拼接节点:
       父节点.appendChild(子节点对象)
       在当前父节点的最后拼接一个子节点对象
    btnArr[0].onclick=function () {
        var newDiv=document.createElement("div");
        newDiv.innerHTML="<p>哈哈哈</p>";
        box.appendChild(newDiv);
    }

       父节点.insertBefore(要插入新节点对象,参考子节点对象)
            在指定节点之前插入
    btnArr[0].onclick=function () {
        var newDiv=document.createElement("div");
        newDiv.innerHTML="<p>哈哈哈</p>";
        box.insertBefore(newDiv,pox);
    }
删除节点:
    父节点.removeChild(子节点对象)
    btnArr[1].onclick=function () {
        //        删除一个节点:
//      box.removeChild(pox);
        //        把按钮自己删除了
//      this.parentNode.removeChild(this);
//如果没获取到最后一个子节点那么就返回null
        if (box.lastElementChild){
            box.removeChild(box.lastElementChild);
        }
    }

 替换节点:
    父节点.replaceChild(新节点对象,被替换的旧节点对象)

    btnArr[2].onclick=function () {
        var newUl=document.createElement("ul");
        for (var i=0;i<3;i++){
            var newLi=document.createElement("li");
            newLi.innerText="我是LI";
            newUl.appendChild(newLi);
        }
        box.replaceChild(newUl,pox);

    }
 克隆节点
    节点对象.cloneNode(boolean)
    复制一份当前节点对象
    参数默认为false 表示不克隆内部内容

    如果传true表示所有后代一起克隆
    btnArr[3].onclick=function () {
        var newPox=pox.cloneNode(true);
        box.appendChild(newPox);
    }

js动态添加表格方法

  rows                          (只读,table和textarea能用)
*       获取当前表格所有的tr放入一个伪数组
    insertRow(index)              (只有table能调用)
        在指定索引之前插入一个tr标签 并且返回当前新插入的tr对象
            可以针对该tr对象设置内容

    deleteRow(index)             (只有table能调用)
        根据索引值删除一行tr
    cells               (只读,tr才能调用)

    insertCell(index)               (只有tr能调用)
        在指定index之前 插入一个新td标签 返回新td对象
    deleteCell(index)              (只有tr能调用)
        根据指定索引值删除一个td
  var btnArr=document.getElementsByTagName("button");
    var tab=document.getElementById("tab");
    var ftr=document.getElementById("ftr");
    btnArr[0].onclick=function () {
        console.log(tab.rows); //获取当前表格所有的tr放入一个伪数组
    }

    btnArr[1].onclick=function () {
        var newTr=tab.insertRow(1)
        var str="";
        str+="<td>海贼王</td>"
        str+="<td>12</td>"
        str+="<td>120</td>"

        newTr.innerHTML=str;

    }
    btnArr[2].onclick=function () {
//        tab.deleteRow(3)
        tab.deleteRow(tab.rows.length-1);

    }
    btnArr[3].onclick=function () {
        console.log(ftr.cells);

    }
    btnArr[4].onclick=function () {
        var newTd=ftr.insertCell(1);
        newTd.innerHTML="我是新年龄"

        
    }
    btnArr[5].onclick=function () {

//        ftr.deleteCell(3);
        ftr.deleteCell(ftr.cells.length-1)
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值