DOM元素的属性分为两种

  (1)标签属性  直接写在标签上的属性

  (2)对象属性  由于所有的DOM元素都是Object类型,所以我们可以通过对象的方式为DOM元素设置属性

1.标签属性

  (1)设置标签属性

    elem.setAttribute(属性名,属性值);

   <div></div>
  <script>   
       var div=document.querySelector("div");  
 
          div.setAttribute("abc","123");   //为div添加属性  属性名abc  属性值为123
          console.log(div);    //打印结果:  <div abc="123"></div>
  </script>

  注意:  

      (1)属性名单词之间通常用"    -     "连接, 并且不使用驼峰式     例如    div-one

      (2)属性值必须为小写字符串

      (3)可以通过标签属性获取元素      例如:   document.querySelector("[abc='123']");

  (2)获取标签属性值,并返回

    elem.getAttribute(属性名);

    var str=div.getAttribute("abc"); 
    console.log(str);    //打印结果:  123

  (3)删除标签属性

    elem.removeAttribute(属性名);

    div.removeAttribute("abc");
    console.log(div); //打印结果: <div></div>

 (4)标签的单属性属性值和属性名相同

    示例:

    <input type="checkbox">
<script>
var input=document.querySelector("input"); //获取input
input.setAttribute("checked","");      //写法1
input.setAttribute("checked","checked");   //写法2</script>
   //写法1 和写法2 都会使复选框被选中

1.对象属性

  (1)设置对象属性  使用点语法

        elem.属性名=属性值;

    获取对象属性值:

        elem.属性名

        var div = document.querySelector("div");  //获取div1
div.abc="123"; //为div添加abc属性 属性值为 123
console.log(div); //打印div
console.log(div.abc); //获取并打印div的 abc属性值

  这时我们发现对象属性并不会显示在标签上

  (2)对象属性优先级高于标签属性

    <input type="checkbox">DOM属性
    <script>
var input=document.querySelector("input"); //获取input
input.checked=false; //设置对象属性
input.setAttribute("checked","");       //设置标签属性
</script>

  (3)标签属性  与   对应的对象属性

    (a) checked   id   title  等  标签属性有对应的对象属性   自定义属性没有

    (b)class较为特殊,对应的对象属性为  className

        input.className="check1";
console.log(input); //打印结果: <input type="checkbox" class="check1">

  (4)style属性   

    1.   每个元素都有style属性
    2.   可以通过字符串添加修改行内样式
    3.   可用设置队形属性设置方式,添加修改行内样式
    4.   通常用对象的写法

   示例: 创建标签并设置样式

        function ce(type, style) {
var elem = document.createElement(type);
// ES6的方法 将后面的对象中的属性复制到前面对象中
Object.assign(elem.style, style);
return elem;
}
console.log(typeof (div));     //用法: ce(标签名,样式)       var div = ce("div", {

          width: "30px",
          height: "30px",
          border: "1px solid",
          backgroundColor: "red"
      });
      document.body.appendChild(div);  //将创建好的元素添加至body

DOM标签属性和对象属性的更多相关文章

  1. python-类属性和对象属性(转)

    class People(object): # 类属性是指定义在类的内部而且在方法的外部的属性 money = 10000 def __init__(self,name,age,gender=1): ...

  2. python类属性和对象属性、类的普通方法和静态方法

    类属性和对象属性的定义 class LearnClass(): #类属性 cls_attr = None def __init__(self,arg): #对象属性 self.obj_attr = a ...

  3. Html5不可见标签,及标签属性(元素对象属性) a href target name id 相对路径

    标签属性分类(元素对象属性) 不可见标签与可见标签: <head></head>        属于不可见标签, 里面的内容一般用于css还有全局的一些变量,声明等. 而且如果 ...

  4. JavaScript之面向对象的概念,对象属性和对象属性的特性简介

    一.大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象.但ECMAScript(指定JavaScript标准的机构,也就是说JavaScri ...

  5. Python-类属性与对象属性之间的关系

    只要对象的属性未被指定赋值过, 不论类的属性怎么改变, 对象的属性都会跟随改变, 若对象属性被赋值过, 则不跟随类的属性而改变

  6. JQuery中操作元素的属性_对象属性

    我们主要是通过attr去获取元素的属性: 看body内容: <body> <p> 账号:<input type="text" id="una ...

  7. 在VSCode中编辑HTML文档时,在Dom标签上写style属性时智能提示的问题

    首先在VSCode中打开一个HTML文件 然后点右下角的“选择语言模式” 然后点击配置HTML语言的基础设置 然后在打开的界面中(右侧) 输入如下代码 { "editor.quickSugg ...

  8. python 类属性、对象属性

    类的普通属性: dir(Myclass), 返回一个key列表: Myclass.__dir__,返回一个字典: 1.类的数据属性: 2.类的方法: 类的特殊属性: 1.Myclass.__name_ ...

  9. JavaScript--我发现,原来你是这样的JS:面向对象编程OOP[1]--(理解对象和对象属性类型)

    一.介绍 老铁们,这次是JS的面向对象的编程OOP(虽然我没有对象,心累啊,但是可以自己创建啊,哈哈). JS高程里第六章的内容,这章内容在我看来是JS中很难理解的一部分.所以分成三篇博客来逐个理清. ...

随机推荐

  1. windows jenkins下配置sonar-scanner

    windows jenkins下配置sonar-scanner 一.基本配置信息 ① jenkins版本:2.222.4 ② sonarqube scanner版本:4.4.0.2170 ③ 操作系统 ...

  2. day47 数据库进阶

    目录 一.select查询扩展 1 几个重要关键字的执行顺序 2 where筛选条件 3 group by分组 4 having 分组之后的筛选条件 5 distinct去重 6 order by 排 ...

  3. js数组算法题01

    题目:随机生成一个长度为 10 的整数类型的数组,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20],将其排列成一个新数组,要求新数组形式如下,例如 [[2, 3, 4, 5], ...

  4. 如何让touchmove之后不触发touchend的事件

    手机扫码看效果 不多说,直接上代码 <ul id="Ul"> <li>111</li> <li>222</li> < ...

  5. scrapy 基础组件专题(十四):scrapy CookiesMiddleware源码

    一 Scrapy框架--cookie的获取/传递/本地保存 1. 完成模拟登陆2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中3. 再次使用时从本地的cookie.txt中 ...

  6. scrapy 基础组件专题(十二):scrapy 模拟登录

    1. scrapy有三种方法模拟登陆 1.1直接携带cookies 1.2找url地址,发送post请求存储cookie 1.3找到对应的form表单,自动解析input标签,自动解析post请求的u ...

  7. 数据可视化之powerBI技巧(十六)采悟:PowerBI作图技巧:动态显示可视化标题

    默认情况下,PowerBI图表的标题是静态的,为了增强图表的可读性,通过设置动态标题,可快速展示关键信息.提升沟通效率.本文通过两个简单的例子来看看PowerBI中如何创建动态标题. /01/ 拿之前 ...

  8. 数据可视化之PowerQuery篇(六)PowerQuery技巧:批量合并Excel表的指定列

    本文来源于一个星友的问题,他有上百个Excel表格,格式并不完全一样,列的位置顺序也不同,但每个表都有几个共同列,这种情况下,能不能通过Power Query把这些表格共同的列批量合并呢? 当然是可以 ...

  9. Postman接口测试实战分享,这5个问题你必须得知道!【软件测试工程师经验分享】

    在我们日常的测试工作中,接口测试其实很普遍,无论你是做什么测试,功能.自动化亦或是性能测试,都会或多或少接触到接口. 最近也有许多人来询问我:接口测试怎么测?接口测试工具有哪些? 下面我来帮你一一剖析 ...

  10. 【C#】NET截屏网页,生成网页快照开发——IECapt、CutyCapt

    软件介绍 IECapt.CutyCapt 生成网页快照 http://iecapt.sourceforge.net/ http://cutycapt.sourceforge.net/ ### 操作代码 ...