感谢:链接(视频讲解很清晰)

下文中讲解用到Chrome中的console调试台,如果不懂最好先看一下:链接

JavaScript选择器

作用:选取html中的标签等内容,最重要的还是为节点的操作(增删查改)做准备。

常用选择器:

1、id选择器(document.getElementById( );) 

例如从下面的网页中找到 id='d0 ' 的标签:

<body>
<div id="d0" class="div">这是一个div</div>
<script type="text/javascript">
var getDiv=document.getElementById('d0');
console.log('getdiv');
</script>
</body>

运行截图:(通过上面的函数直接就能把获取到的标签内容存入getDiv中)

2、class选择器(getElementsByClassName();)

实现和上面一样的例子,但由于id在整个html中只有一个但class不同,所以如果存在多个classname满足选择条件会将他们存入一个数组中。

例如:

<body>
<div id="d0" class="div">这是一个div0</div>
<div id="d1" class="div">这是一个div1</div>
<div id="d2" class="div">这是一个div2</div>
<div id="d3" class="div">这是一个div3</div>
<script type="text/javascript">
var getDiv=document.getElementsByClassName('div');
console.log(getDiv);
</script>
</body>

运行截图:(把数组展开如下)

也可以给getdiv加下标来获取特定的标签:

3、其它选择器(document.querySelector();document.querySelectorAll();)

注:该选择器兼容性差,但操作简单便于实现。

红框中的内容说明这个选择器的括号中要加的是css选择器,即:如果要选id就用'#', class就用' . ' 。

运行截图:

节点操作:

上面讲解的js选择器就是在给节点操作做准备,因为只有先找到该节点才能操作。

1、查找:

就不需要说了,上面js选择器的作用就是这个。

2、增加:(document.createElement();)

<body>
<div id="d0" class="div">这是一个div0</div>
<script type="text/javascript">
var p=document.createElement('p');
p.innerHTML="这是一个p标签";
</script>
</body>

但运行之后div标签没变化,为什么?

因为这个函数只是先申请一个p ,就算要加上p标签他也不知道往哪加,所以还需要一个函数(*.appendChild(p);) , 其中*代表js选择器选择的要增加的位置。

<body>
<div id="d0" class="div">这是一个div0</div>
<script type="text/javascript">
var p=document.createElement('p');
var getDiv=document.getElementById('d0');
//若通过class属性获得了位置不唯一,会报错,因为appendChild函数只能给一个标签添加子标签
p.innerHTML="这是一个p标签";
getDiv.appendChild(p);
</script>
</body>

运行截图:(可以看到div下多了个p标签)

3、删除:

函数:*1.removeChild(*2);其中*1,*2为父子关系的两个标签

<body>
<div id="d0" class="div">
<p id='p0'>这是一个p标签</p>
</div>
<script type="text/javascript">
var getDiv=document.getElementById('d0');
var getP=document.getElementById('p0');
getDiv.removeChild(getP);
</script>
</body>

运行截图:

4、修改(运用最广泛的一种节点操作)

a.与css中的style相关的修改:

<body>
<div id="d0" class="div">
<p id='p0'>这是一个p标签</p>
</div>
<script type="text/javascript">
var getDiv=document.getElementById('d0');
getDiv.style.backgroundColor='red';
//注意与css中的style:background-color: red;的区别
getDiv.style.color='purple';
</script>
</body>

运行截图:

b.修改id或修改classname:

<body>
<div id="d0" class="div">
<p id='p0'>这是一个p标签</p>
</div>
<script type="text/javascript">
var getDiv=document.getElementById('d0');
getDiv.id='ddd';
</script>
</body>

修改成功:(classname同理)

JavaScript选择器和节点操作的更多相关文章

  1. 前端JavaScript之DOM节点操作

    1.HTML DOM是啥 Document Object Model:定义了访问和操作HTML文档的标准方法,把HTML文档呈现为带有元素,属性和文本的树状结构 2.解析过程 HTML加载完毕,渲染引 ...

  2. JavaScript原生的节点操作

    前言:原生是Javascript的基础,还是需要多多重视,时间长都忘记了,现在整理一下. 获取子节点 children 不是标准的dom属性,但是几乎被所有浏览器支持.不包含文本节点. 注意:在IE中 ...

  3. JavaScript之DOM节点操作

    a.appendChild(b)  追加标签 a是b的父级,将b追加到a中 追加标签  a.insertBefore(b,c);  a是b和c的父级,在c前面插入b 删除标签  a.removeCli ...

  4. javascript之表格节点操作

    <html> <div class='add'>             名字: <input type="" name=""&g ...

  5. JS节点操作(JS原生+JQuery)

    JavaScript与JQuery节点操作   节点关系与类型 任何HTML元素,都有nodeType属性.值有1~12,常用的有: 1.元素节点 2.文本节点 8.注释节点 9.document节点 ...

  6. JavaScript 节点操作Dom属性和方法(转)

    JavaScript 节点操作Dom属性和方法   一些常用的dom属性和方法,列出来作为手册用. 属性:   1.Attributes 存储节点的属性列表(只读)   2.childNodes 存储 ...

  7. 使用HTML5的JavaScript选择器操作页面中的元素

    <!doctype html><html lang="en"> <head>     <meta charset="UTF-8& ...

  8. JavaScript -- 节点操作, 事件触发, 表单伸缩

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. JavaScript之DOM操作,事件操作,节点操作

    1,DOM操作 1.1  概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...

随机推荐

  1. jquery 1.9版本下复选框 全选/取消实现

    http://zhangzhaoaaa.iteye.com/blog/1914497 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tran ...

  2. Mac node.js express-generator脚手架安装

    前言 由于本人在学习NodeJs的express框架时,在Mac电脑上安装express遇到了一个深痛的坑点,特写此文来记录.该坑点的解决方案我在国内的度娘没有找到,问别人也没有方案,最后通过goog ...

  3. redis 启动停止重启

    启动服务: service redis start 停止服务: service redis stop 重启服务: service redis restart

  4. JAVA POI替换EXCEL模板中自定义标签(XLSX版本)满足替换多个SHEET中自定义标签

    个人说明:为了简单实现导出数据较少的EXCEL(根据自定义书签模板) 一.替换Excel表格标签方法```/** * 替换Excel模板文件内容 * @param map * 需要替换的标签建筑队形式 ...

  5. MAC 下SFT环境搭建及使用

    基本环境的搭建就不说了,网上一搜就是一堆 记录下正常的使用过程,主机-服务器是MAC机,从机-Windows机子 1.STF服务启动(挂后台的服务,启动后输入 exit退出进程即可) 后台启动DB:n ...

  6. eatwhatApp开发实战(五)

    上次我们为eatwhat添加了了删除功能和dialog对话框的介绍,今天我们来使用SQLite进行本地数据存储. 首先,我们定义一个SQL辅助类ShopInfoOpenHelper继承SQLiteOp ...

  7. 容器技术之Docker常用命令说明

    前面我们聊了docker的基本概念.架构.镜像.网络.数据卷,回顾请参考https://www.cnblogs.com/qiuhom-1874/category/1766327.html:今天这篇博客 ...

  8. 【MOOC操作系统】测试题大题-进程调度 先入先服务算法例题 【某多道程序系统供用户使用的主存为100K,磁带机2台,打印机1台,采用可变分区存储管理,静态方式分配外围设备(进程获得所需全部设备才能进入内容),忽略用户作业的I/O时间。采用动态分区、首次匹配法(从低地址区开始)分配主存,一个作业创建一个进程,且运行中不紧缩内存。作业调度采用FCFS算法,在主存中的进程采用剩余时间最短调度算法。】

    分析图: 答案: (1) 8 : 00作业1到达,占有资源并调入主存运行. 8: 20作业2和3同时到达,但作业2因分不到打印机,只能在后备队列等待.作业3资源满足,可进主存运行,并与作业1平分CPU ...

  9. PYTHON 黑帽子第二章总结

    基于python3编写 import sys, socket, getopt, threading, argparse, subprocess # globals options listen = F ...

  10. [leetcode] 并查集(Ⅲ)

    婴儿名字 题目[Interview-1707]:典型并查集题目. 解题思路 首先对 names 这种傻 X 字符串结构进行预处理,转换为一个 map,key 是名字,val 是名字出现的次数. 然后是 ...