首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查。


1 查找DOM

第一种方式是我们最常用的:通过ID查找:

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<p id="demo">你能找到我么?</p>
<button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
function changeText(){
document.getElementById("demo").innerHTML = "ok";
}
</script>
</html>

注意:当我们写HTML的时候尽量保证ID不重复。

第二种方法:通过标签名查找

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<div id="demo">
<p>hi man</p>
</div>
<button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
function changeText(){
var element = document.getElementById("demo");
var p = element.getElementsByTagName("p");
p[0].innerHTML = "yo";
}
</script>
</html>

↑ 我们取到了ID为demo的div,然后在div中有个p元素 没有ID属性,我们就可以通过tagname来找到它。

第三种方法:通过class来查找

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<div class="demo">
<p>hi man</p>
</div>
<button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
function changeText(){
var element = document.getElementsByClassName("demo")[0];
var p = element.getElementsByTagName("p");
p[0].innerHTML = "yo";
}
</script>
</html>

2 删除DOM

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<div id="div1">
<p id="p1">hi man</p>
<p id="p2">hello</p>
</div>
<button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
function changeText(){
var div1 = document.getElementById("div1");
var p2 = document.getElementById("p2");
div1.removeChild(p2);
}
</script>
</html>

3 新增DOM

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<div id="div1">
<p id="p1">hi man</p>
<p id="p2">hello</p>
</div>
<button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
function changeText(){
// 创建P标签
var p = document.createElement("p");
// 创建文本节点
var node = document.createTextNode("新的P标签");
// 创建属性
var attr = document.createAttribute("class");
attr.value = "class p";
// p标签中添加文本节点
p.appendChild(node);
// p标签中添加属性
p.setAttributeNode(attr); var div = document.getElementById("div1");
// 添加p标签
div.appendChild(p);
}
</script>
</html>

4 修改DOM

4.1 修改DOM的内容

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<div id="div1">
<p id="p1">hi man</p>
<p id="p2">hello</p>
</div>
<button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
function changeText(){
var element = document.getElementById("p1");
element.innerHTML = "更改内容";
}
</script>
</html>

4.2 修改DOM的属性

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<a href="https://www.baidu.com" id="link">链接</a>
</body>
{{--js--}}
<script>
var element = document.getElementById("link");
element.href = "https://www.google.com";
</script>
</html>

4.3 修改DOM的CSS样式

<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
<p id="p1">文本</p>
</body>
{{--js--}}
<script>
var element = document.getElementById("p1");
element.style.color = "red";
</script>
</html>

JavaScript HTML DOM增删改查的更多相关文章

  1. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

  2. 用 JS(JavaScript )实现增删改查

    JS小例题 学习内容: 需求 总结: 学习内容: 需求 用 JavaScript 实现简单增删改查 实现代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...

  3. javascript相关的增删改查以及this的理解

    前两天做了一个有关表单增删改查的例子,现在贴出来.主要是想好好说一下this. 下面贴一张我要做的表格效果. 就是实现简单的一个增删改查. 1.点击增加后自动增加一行: 2.点击保存当前行会将属性改成 ...

  4. JavaScript数组:增删改查、排序等

    直接上代码 // 数组应用 var peoples = ["Jack","Tom","William","Tod",&q ...

  5. JavaScript之DOM的增删改查

    JavaScript的组成: 1. ECMAScript-语法规范 2. Web APIs(浏览器提供的工具) (1).BOM (浏览器对象模型) (2).DOM (文档对象模型) 今天就来讲讲DOM ...

  6. JavaScript(JS)之Javascript对象DOM之增删改查(四)

    创建节点:var ele_a = document.createElement('a');添加节点:ele_parent.appendChild(ele_img);删除节点:ele_parent.re ...

  7. DOM节点的增删改查

    在开始展开DOM操作前,首先需要构建一棵DOM树. <!DOCTYPE html> <html lang="en"> <head> <me ...

  8. HTML DOM(二):节点的增删改查

    上一篇讲述了DOM的基本知识,从其得知,在DOM眼中,HTML的每个成分都可以看作是节点(文档节点.元素节点.文本节点.属性节点.注释节点,其中,属性节点是属于元素节点),本篇的内容就是通过DOM对这 ...

  9. 超详细的DOM操作(增删改查)

    操作DOM的核心就是增删改查 原文地址:https://jianshu.com/p/b0aa846f4dcc 目录 一.节点创建型API 1.1 createElement 1.2 createTex ...

随机推荐

  1. 【招聘App】—— React/Nodejs/MongoDB全栈项目:项目准备

    前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...

  2. git 出现502错误后用depth一步一步来

    公司有个项目的git仓库,因为一些二进制文件也放在里面,版本迭代后,整个仓库特别大,有好几G. 直接git clone是不行的,会报这样的错误: error: RPC failed; HTTP 502 ...

  3. 【codeforces #282(div 1)】AB题解

    A. Treasure time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  4. 自己定义modal动画

    在非常多场景中.我们都须要实现各种动画.这回我们来尝试搞一下控制器间跳转的modal动画. - (void)touchesBegan:(NSSet<UITouch *> *)touches ...

  5. Python——标准库 Sys模块

    ---------------------------------------------------------------------------------------------------- ...

  6. Python——在Unicode和普通字符串之间转换

    1.1. 问题 Problem You need to deal with data that doesn't fit in the ASCII character set. 你需要处理不适合用ASC ...

  7. ES标准中的相等比较算法 SameValue SameValueZero

    1.相等比较算法 The Abstract Equality Comparison Algorithm (==) The Strict Equality Comparison Algorithm (= ...

  8. EXTJS4自学手册——图形行为(rotate,scale)

    一.旋转图像: { xtype: 'button', text: '旋转的字', handler: function (btn) { Ext.create('Ext.window.Window', { ...

  9. css处理超出文本截断问题的两种情况(多行或者单行)

    1.非多行的简单处理方式: css代码: .words{ width:400px; overflow:hidden; /*超过部分不显示*/ text-overflow:ellipsis; /*超过部 ...

  10. asp.net mvc 重定向

    protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Request.Cookie ...