• 前端基础知识-DOM操作


    DOM(Document Object Model 文档对象模型)

    1、包含了整个页面的所有功能,可以通过调用方法的形式来对页面进行操作;

    2、JavaScript与Dom的区别:

      JavaScript是脚本语言,可以写逻辑性代码;而Dom是文档对象模型,可以直接操作页面;

      JavaScript+Dom:可以有逻辑的操作页面

    3、获取标签

     1 //直接获取标签
     2 document.getElementById('inner1');  //通过ID获取标签
     3 document.getElementsByClassName('inner');  //通过class获取标签数组
     4 document.getElementsByTagName('div');  //通过标签名称获取标签数组
     5 document.getElementsByName('username');  //通过标签的属性为name的值定位标签数组
     6 
     7 //间接获取标签
     8 var tmp = document.getElementById('inner1');
     9 tmp.children   //获取标签下的所有子元素,返回一个列表
    10 tmp.children[1]  //获取第二个子标签
    11 tmp.firstElementChild  //获取第一个子标签
    12 tmp.parentElement  //获取父节点标签
    13 tmp.nextElementSibling  //获取下一个兄弟标签
    14 tmp.previousElementSibling  //获取上一个兄弟标签
    15 
    16 //例子
    17 tmp.parentElement.nextElementSibling.children[4].children[1]

     4、操作标签

    1 //操作select元素
    2 var tmp = document.getElementById('s1');  //根据标签获取元素
    3 tmp.value   //获取selected的值
    4 tmp.value='shanghai'   //修改select选项
    5 tmp.selectedIndex=1  //修改select下标

     innerText 与 innerHTML:

    1 innerText 与 innerHTML 
    2 var tmp = document.getElementById('inner1');  //根据ID获取元素
    3 tmp.innerText   //获取标签中的文本内容
    4 tmp.innerHTML  //获取标签中的所有内容,包含html代码
    5 tmp.innerText = '测试'  //更改便签内的文本内容,如果赋值的内容包含标签的字符串,依旧会以字符串的形式存储
    6 tmp.innerHTML='"<a href='http://www.baidu.com'>测试一下</a>"' 
    7   //如果赋值的内容包含标签的字符串,它会直接转换成标签元素

     5、操作样式

    1 tmp.className    //获取class
    2 tmp.className='tmp1'    //修改class的值
    3 tmp.classList   //获取样式数组
    4 tmp.classList.add('aaa'); //添加样式 数组
    5 tmp.classList.remove('aaa'); //删除样式
    6 
    7 操作单独样式
    8 style.xxx //操作样式的粒度更加细化,操作单个样式属性,相当于在标签中增加一个style属性
    9 style.backgroundColor // 例:在css中样式可以通过【-】进行连接,在JavaScript中,所有的【-】都被去掉,【-】后面的第一个字符大写

     6、操作属性

    1 var input = document.getElementById('r1')
    2 input.attributes   //获取标签下的所有属性
    3 input.setAttribute('class','c1')   //setAttribute(key,value): 设置属性,在标签中添加属性或自定义属性
    4 input.removeAttribute('class')  //removeAttribute(key): 删除属性,在标签中删除指定属性

    7、创建标签

    1 //通过创建对象的形式创建标签
    2 var input = document.createElement('input')  //createElement(tagName): 通过DOM创建一个标签对象
    3 input.setAttribute('type','text')   //添加属性
    4 input.setAttribute('value','这是通过创建对象的形式新增的标签')   //添加属性
    5 document.getElementById('create').appendChild(input)  //appendChild(tagObj): 在父级标签内添加一个子标签对象
     1 //通过字符串形式创建标签
     2 var input = '<input type="text" value="这是通过字符串的形式创建的标签">'
     3 var div = document.getElementById('create');
     4 div.insertAdjacentHTML('afterBegin',input);
     5 
     6 //insertAdjacentHTML(where,tagStr): 父级标签内添加一个子标签字符串
     7 //beforeBegin: 插入到获取到标签的前面
     8 //afterBegin: 插入到获取到标签的子标签的前面
     9 //beforeEnd: 插入到获取到标签的子标签的后面
    10 //afterEnd: 插入到获取到标签的后面
  • 相关阅读:
    Ecshop文件结构(Ecshop二次开发辅助文档)
    Python的Web开发环境搭建
    我的第一个.Net网站
    Windows2008R2安装sqlserver2005远程登陆失败错误18456
    SQLSERVER批量更新根据主键ID字符串
    2009年9月国内与国外浏览器市场粗略对比
    SQL2000与SQL2005下高效分页语句
    开源IIS Rewrite组件IonicIsapiRewriter2.0Releasebin
    C++中的typedef的用法
    关于NP complete
  • 原文地址:https://www.cnblogs.com/wu-xw/p/9912178.html
Copyright © 2020-2023  润新知