首页 > 编程语言 >【JavaScript34】获取和修改属性节点

【JavaScript34】获取和修改属性节点

时间:2023-08-10 22:35:33浏览次数:42  
标签:p2 console log JavaScript34 id 节点 属性

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点
  • 每个 HTML 元素是元素节点
  • HTML 元素内的文本是文本节点
  • 每个 HTML 属性是属性节点
  • 注释是注释节点

属性节点

  • 比如有一个p标签元素节点
<p id="p2" class="text-center" >点我看看</p>
- 那么它有2个属性节点:id="p2"和class="text-center" 和一个文本节点点我看看

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p id="p2" class="text-center" >点我看看</p>
    <script>
        p2 = document.getElementById("p2");

        console.log(p2.attributes);  // NamedNodeMap {0: id, 1: class, id: id, class: class, length: 2}
        console.log(p2.getAttributeNames());  // ['id', 'class']
        // 根据节点名称,获取属性节点
        console.log(p2.getAttributeNode('id'));  // id="p2"
        console.log(p2.getAttributeNode('class'));  // class="text-center"
        // 根据节点名称,获取对应的值
        console.log(p2.getAttribute('id')); // p2
        console.log(p2.getAttribute('class')) // text-center

    </script>
 </body>
</html>

获取属性节点的值

 <div>
        <p id="p2" class="text-center" >获取属性节点</p>
        <label for="user">用户名</label>
        <input id="user" type="text" class="form-control"  name="username" placeholder="请输入" value="xwl">
    </div>
    <script>
        p2 = document.getElementById("user");
        console.log(p2.nodeName);  // INPUT
        console.log(p2.tagName);  // INPUT
        console.log(p2.id);  // user

        //getAttribute() 获取指定的属性,传一个属性的名称参数
        console.log(p2.getAttribute('id'));  // user
        console.log(p2.getAttribute('type'));  // text
    </script>

修改属性节点

 <div>
        <p id="p2" class="text-center" >修改属性节点</p>
        <label for="user">用户名</label>
        <input id="user" type="text" class="form-control"  name="username" placeholder="请输入" value="xwl">
    </div>
    <script>
        p2 = document.getElementById("user");
        // 修改属性
        p2.type = 'password';
        p2.className = 'test';
        console.log(p2.type);  // password
        console.log(p2.className);  // test

        //setAttribute() 设置指定的属性名称
        p2.setAttribute('type', 'password');
        p2.setAttribute('class', 'test');
        p2.setAttribute('name', 'password');
        p2.setAttribute('value', 'hello');
        console.log(p2.type);  // password
        console.log(p2.className);  // test
        console.log(p2.name);  // password
        console.log(p2.value);  // hello
    </script>```

标签:p2,console,log,JavaScript34,id,节点,属性
From: https://www.cnblogs.com/xwltest/p/17621760.html

相关文章

  • 幻读,重复读,脏读 以及Spring的事务属性说明
    设置事务隔离性级别    1)幻读:事务1读取记录时事务2增加了记录并提交,事务1再次读取时可以看到事务2新增的记录;    2)不可重复读取:事务1读取记录时,事务2更新了记录并提交,事务1再次读取时可以看到事务2修改后的记录;    3)脏读:事务1更新了记录,但没有提交,事务2读取了更新后......
  • 2.Elasticsearch单节点安装脚本
    #!/bin/bashES_VERSION=7.17.5#ES_VERSION=7.9.3#ES_VERSION=7.6.2UBUNTU_URL="https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/apt/pool/main/e/elasticsearch/elasticsearch-${ES_VERSION}-amd64.deb"RHEL_URL="https://mirrors.tuna.tsingh......
  • k8s部署 elasticsearch7集群,其中一台节点报错无法域名解析 :resolving host...
    部署es7集群其中一个节点一直报错resolvinghost考虑有两点,要么是coredns组件出问题了,无法解析,要么是calico网络组件出问题了,首先我就去看网络组件了,果然发现问题,我这台机器有两个网卡,一个是enp9s0(172.16.2.30地址),一个是enp11s0(172.16.2.25地址),我加入的节点是30机器,但是calico绑定......
  • element 表单规则所有属性中文(el-from rules)
    RulesRulesmaybefunctionsthatperformvalidation.function(rule,value,callback,source,options)rule:Object{"field":"name",//检查的属性的名"fullField":"name",//"type":"strin......
  • quarkus依赖注入之十一:拦截器高级特性上篇(属性设置和重复使用)
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本篇是《quarkus依赖注入》系列的第十一篇,之前的[《拦截器》]学习了拦截器的基础知识,现在咱们要更加深入的了解拦截器,掌握两种高级用法:拦截器属性和重复使用拦截......
  • 【JavaScript31】HTML DOM节点与节点属性
    前言DOM(DocumentObjectModel)文档对象模型,通过HTMLDOM,JavaScript能够访问和改变HTML文档的所有元素。当网页被加载时,浏览器会创建页面的文档对象模型(DocumentObjectModel)。HTMLDOM模型被结构化为对象树:DOM节点根据W3C的HTMLDOM标准,HTML文档中的所有内......
  • Visual Studio中属性表.props文件的复用
    最近在Windows下配置用于支持C++的OpenCV、GDAL、Eigen环境,最开始用mingw按照sqlite3-tiff-jpeg-proj-gdal的顺序编译GDAL,十分痛苦。后来索性使用Microsoft自家的VisualStudio,拷贝别人编译好的GDAL和OpenCV以及Eigen库,终于配置完成。VisualStudio每次新建项目都要在属性表中......
  • ACCESS 分享一个使用数组来批量操作控件属性的技巧
    原代码如下:PrivateSubComSave_Click()'保存按钮IfComSave.Caption="编辑(自动保存)"ThenMe.Text160.Locked=FalseMe.Text138.Locked=FalseMe.FM入库单.Form.数量.Locked=FalseMe.FM入库单.Form.单价.Locked=False......
  • avue-crud属性配置项参数笔记分享
     Avue是一个基于Element-plus低代码前端框架,它使用JSON配置来生成页面,可以减少页面开发工作量,极大提升效率;虽然Avue官网上面都有这些配置说明,但是如果刚开始接触不熟悉框架的话需要很久才找到自己需要的参数配置,为了方便自己今后查找使用,现将一些开发中常用的配置梳理在下......
  • Angular FormControl value属性的一些事
    背景:一个输入校验,允许输入多行,每一行是ip或网段。写了个校验,将其按行拆分后单独校验。1. FormControl无法深复制使用JSON.parse(JSON.stringify(control))进行简单深复制报错,因为不是json类型;使用deepClone进行递归深复制,直接栈溢出。考虑到代码的健壮性,已经有单独校验......