元素的三种创建方法
1、doumrnt.write(可以写类名,各种表情属性)
      script写在哪里就创建在哪
  1. <button>点我</button>
  2. <script>
  3. document.write("<li class='kk'>生活</li>")
  4. </script>
  5. <button>点我</button>

  

弊端:把原来的内容替换掉

  1. var but=document.getElementsByTagName("button")[0];
  2. //console.log(document.write);是一个函数
  3. but.onclick=function () {
  4. document.write("<li class='kk'>生活</li>");
  5. }

 2、事件源.innerHTML +="<li></li>"(经常用,写上 + 号,原来的内容不会被替换) 

  1. ul.innerHTML+="<li class='kk'>生活</li>"
 3、利用dom的api创建元素
        appendChild(“ 添加的元素 ”)  在父元素最后面添加元素
        insertBefore(“ 添加的元素 ”,“添加的位置”) 指定位置添加
  1. //利用dom的api创建元素 把创建的元素放在变量里
  2. var newLi=document.createElement("li");
  3. var newL=document.createElement("li");
  4. //赋值
  5. newLi.innerHTML="我是createElement创建的";
  6. newL.innerHTML="我是appendChild创建的";
  7. //添加到ul原来里面
  8. ul.appendChild(newL);
  9. //指定位置添加
  10. var firUl=ul.firstElementChild || ul.firstChild;
  11. ul.insertBefore(newLi,firUl)

删除 替换 克隆节点
1、removeChild 删除节点
  1. ul.removeChild(li3)

2、replaceChild("新节点",“旧节点”)替换节点(用的少)

  1. ul.replaceChild(li3,li2)

3、克隆node.cloneNode(true)

  1. //克隆li2标签 li2.cloneNode(true);深层复制。
  2. for(var i=; i<; i++){
  3. var clLi=li2.cloneNode(true);
  4. ul.appendChild(clLi)
  5. }

案例

点击按钮添加li列表,鼠标放上去高亮显示(鼠标离开也会有一个亮)

  1. //需求:点击列表,添加四大美女,然后鼠标放到谁上面,谁高亮显示
  2. //思路:创建一个数组,添加内容。利用for循环创建li标签添加到ul里面
  3. //步骤:(指定多少个元素的创建最好用for循环)
  4. var but=document.getElementsByTagName("button")[];
  5. var arr=["昭君","西施","贵妃","貂蝉"];
  6. var ul=document.getElementsByTagName("ul")[];
  7. but.onclick=function(){
  8. ul.innerHTML="";//只添加一次 原理,每次循环清空了在添加
  9. for(var i=; i<arr.length; i++){
  10. var li=document.createElement("li");
  11. li.innerHTML=arr[i];
  12. ul.appendChild(li);
  13. }
  14. //获取所有的Li标签然后,为他绑定事件,排他思想,高亮显示
  15. var liArr=ul.children;
  16. for(var i=; i<liArr.length; i++){
  17. liArr[i].onmouseover=function(){
  18. for(var j=; j<liArr.length; j++){
  19. liArr[j].style.background=""
  20. }
  21. this.style.background="red"
  22. }
  23. }
  24. }

在线用户

DOM元素的更多相关文章

  1. jQuery操作DOM元素

    作为一个后端程序员,也是要和前端页面打交道的.最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求.实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用 ...

  2. JQuery利用sort对DOM元素进行排序

    前言 排序对于我们是再熟悉不过了,在绝大数应用程序中都会有这样一个场景:当我们从服务器端获取一个列表时,在界面上进行渲染,我们可以会依赖于某一个规则来进行排序,当然此时绝大多数会再次与服务器进行交互来 ...

  3. html标签属性(attribute)和dom元素的属性(property)

    简介 attribute和property都有属性之意,但对于attribute和property的区分其实并不难.从对象来说,attribute是html文档上标签属性, 而property则是对应 ...

  4. jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解

    jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解 jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的 ...

  5. 如何隐藏DOM元素

    在CSS中,要隐藏DOM元素常见的方法有: 设置元素的opacity值为0 设置元素的visibility值为hidden 设置元素的display值为none 设置元素的position值为abso ...

  6. HTML DOM元素的Dragdrop

    在前端web页面中,为了提高用户体验,通常会希望将页面中的元素设计成可dragdop的,简化用户操作.这一设计特性在缺少鼠标的触摸屏设备上,显得更为重要. 在早期的应用中,我们通常需要借助第三方的ja ...

  7. DOM元素querySelectorAll可能让你意外的特性表现

    一.时间紧急,废话少说 本文所在的页面藏匿了下面这些代码: <img id="outside"> <div id="my-id"> &l ...

  8. 使用dom元素和jquery元素实现简单增删改的练习

    软件开发实际就是数据的增删改查,javascript前端开发也不例外.今天学了jquery框架的简单使用.于是用它实现简单的增删改,接着也用原始的javascript实现同样的功能,以便看出jquer ...

  9. 返本求源——DOM元素的特性与属性

    抛砖引玉 很多前端类库(比如dojo与JQuery)在涉及dom操作时都会见到两个模块:attr.prop.某天代码复查时,见到一段为某节点设置文本的代码: attr.set(node, 'inner ...

  10. 【面试必备】javascript操作DOM元素

    前言 时间过的真快,不知不觉就到年底了.问问自己,这一年你对自己的工作满意吗? 评价标准是什么呢?当然是马云的那两条准则了:钱给到了吗?干的爽吗?如果答案都是no,那么,你准备好跳槽了吗? 为了应对年 ...

随机推荐

  1. ReLU、LReLU、PReLU、CReLU、ELU、SELU

    ReLU.LReLU.PReLU.CReLU.ELU.SELU 2018年01月22日 22:25:34 luxiaohai的学习专栏 阅读数 28218更多 分类专栏: 深度学习   版权声明:本文 ...

  2. 搞懂String、StringBuffer、StringBuilder的区别

    String.StringBuffer.StringBuilder有什么区别呢? 1.String: 首先String是不可变的这是家喻户晓的,它的底层是用一个final修饰的char数组来保存数据的 ...

  3. css优先级及其对应的权重

    1.选择器的优先级 !important>内联选择器(style)>id选择器>类选择器 | 属性选择器 | 伪类选择器 > 元素选择器>通配符(*) 2.选择器的权重( ...

  4. css改变鼠标指针的形状

    <html> <body> <span style="cursor:auto"> <br /> <span style=&qu ...

  5. C# 校验车架号(VIN码)第9位是否有效算法

    public static bool checkVIN(string vin) { //VIN码从第1位到第17位的“加权值”: Dictionary<int, int> vinMapWe ...

  6. ZPL语言完成条形码的打印

    近期因为项目的需求,需要使用到打印机来打印业务相关的条形码和其他信息,由于之前有操作其它打印机的经验,Leader就安排我来做这个了(凑哦,这能说我是懵逼的么).于是就开始了我的探索之旅啦,不对,是踩 ...

  7. Golang之初探

    什么是Go语言 Go语言介绍 产生背景: 超级复杂的C++11特性的吹捧报告的鄙视以及最终的目标是具备动态语言的开发速度的同时并要有C/C++编译语言的性能与安全性以及设计网络和多核时代的C语言 Go ...

  8. Python学习记录5-面向对象

    OOP 思想 以模块化思想解决工程问题 面向过程 vs 面向对象 由面向过程转向面向对象 常用名词 OO:面向对象 ooa:分析 ood:设计 oop:编程 ooI:实现 ooa -> ood ...

  9. centos 6.4系统双网卡绑定配置详解

    Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡(需要交换机支持),这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作. ...

  10. ARM体系结构与编程读书笔记——处理器的运行模式

    ARM处理器共有7种运行模式,如下表: 处理器模式 描述 用户模式(User, usr) 正常程序执行的模式 快速中断模式(FIQ, fiq) 用于高速数据传输和通道处理 外部中断模式(IRQ, ir ...