前端 DOM

Dom

获取id给一个值 值调用方法

选择器

html被浏览器解析后就是一棵dom树,

始终记住DOM是一个树形结构。操作一个DOM节点实际上就是这么几个操作:

  • 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的内容;
  • 遍历:遍历该DOM节点下的子节点,以便进行进一步操作;
  • 添加:在该DOM节点下新增一个子节点,相当于动态增加了一个HTML节点;
  • 删除:将该节点从HTML中删除,相当于删掉了该DOM节点的内容以及它包含的所有子节点。
获取dom节点
document.getElementById()   id唯一
document.getElementsByTagName()  返回一组
以及CSS选择器 document.getElementsByClassName() 

第二种方法是使用 querySelector() 和 querySelectorAll()   有版本要求
// 通过querySelector获取ID为q1的节点:
var q1 = document.querySelector('#q1');
// 通过querySelectorAll获取q1节点内的符合条件的所有节点:
var ps = q1.querySelectorAll('div.highlighted > p');
更新dom
  • 修改innerHTML属性 不仅可以修改dom节点的文本内容 还能修改节点内部的子树 注意字符编码的xss攻击
  • 修改innerText属性 这样可以自动对字符串进行HTML编码,保证无法设置任何HTML标签:

修改CSS也是经常需要的操作。DOM节点的 style 属性对应所有的CSS,可以直接获取或设置

// 获取<p id="p-id">...</p>
var p = document.getElementById('p-id');
// 设置CSS:
p.style.color = '#ff0000';
p.style.fontSize = '20px';
p.style.paddingTop = '2em';
插入dom

空的情况下可以通过更新的方式插入

非空

  • 一个是使用 appendChild ,把一个子节点添加到父节点的最后一个子节点 类似于字符串拼接

在这里插入图片描述
在这里插入图片描述

  • insertBefore

    如果我们要把子节点插入到指定的位置怎么办?可以使用
    parentElement.insertBefore(newElement, referenceElement); 子节点会插入到
    referenceElement 之前。

删除dom

要删除一个节点,首先要获得该节点本身以及它的父节点,然后,调用父节点的 removeChild 把自
己删掉:

// 拿到待删除节点:
var self = document.getElementById('to-be-removed');
// 拿到父节点:
var parent = self.parentElement;
// 删除:
var removed = parent.removeChild(self);
removed === self; // true
操作表单

HTML表单的输入控件主要有以下几种:

  • 文本框,对应的 ,用于输入文本;
  • 口令框,对应的 ,用于输入口令;
  • 单选框, 对应的 ,用于选择一项;
  • 复选框,对应的 ,用于选择多项;
  • 下拉框,对应的 ,用于选择一项;
  • 隐藏文本,对应的 ,用户不可见,但表单提交时会把隐藏文本发送到服务器。

获取值

获得节点id id.value

设置值

获得节点id id.value = “内容”;

提交表单

  • 方式一是通过 元素的 submit() 方法提交一个表单,例如,响应一个 button 的click 事件,在JavaScript代码中提交表单: 获取节点id id.submit();

  • 第二种方式是响应本身的onsubmit 事件,在提交form时作修改:获取节点id form.submit(); return true;继续提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值