DOM操作之获取HTML、文本和值
在前面的知识中,我们有提到一个text()方法用来获取文本,其实,在jQuery中,获取HTML和文本的方法有很多,下面依次演示这些方法。
在开始操作前,我们先在html中添加如下代码,后期所有的操作都在此基础上进行。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- <script type="text/javascript" src="jquery-3.2.1.js"></script>
- </head>
- <body>
- <div id="one">北京你好</div>
- <div id="two"><span>上海也很好</span>,风景秀丽<a>重庆</a></div>
- <input type="text" id="username" value="tom" />
- </body>
- </html>
html()
在JavaScript中,可以通过innerHTML方法获取元素包含的具体内容。
- $(function(){
- console.log(document.getElementById('one').innerHTML);
- console.log(document.getElementById("two").innerHTML);
- })
从上面的例子中我们可以看到,innerHTML会把节点包含的【文本 和 元素标签内容】都给抓取出来,在jQuery中,也有一个类似的方法,可以获取节点包含的内容,那就是html()。
- $(function(){
- console.log($('#one').html());
- console.log($('#two').html());
- })
目前看起来,两个方法是一样的,但是其实网上有很多地方有提出innerHTML对于像table类的元素标签不起作用,还会报错,具体的我没有研究,下次应该会看一下。
很显然,html()除了可以获取节点内容外,还可以设置节点内容。
- $(function(){
- $('#one').html("天津你也好");
- $("#two").html("<p><a href='http://www.chongqing.com'>重庆</a>很好</p>");
- })
当我们向html()方法中传递参数的时候,这个参数就会成为匹配元素的内容,这个参数可以说是纯文本,也可以是html标签内容。
text()
在JavaScript中,可以通过innerText方法,获取元素的纯文本内容。
- $(function(){
- console.log(document.getElementById('one').innerText);
- console.log(document.getElementById("two").innerText);
- })
在jQuery中,也有一个类似的方法,可以获取纯文本,那就是text(),这个方法只对文本起作用,在获取节点的内容时,会把html标签删除,只保留文本内容。
- $(function(){
- console.log($("#one").text());
- console.log($("#two").text());
- })
这两个方法在获取节点内容的时候,效果几乎相同,但是需要特别注意的是,在《锋利的jQuery》一书中,提到innerText在Firefox浏览器中并不能运行,但我试验的时候是没有报错,而是正常运行,不知道是不是版本的原因。
自然,text()方法还可以用来设置节点内容。
- $(function(){
- $("#one").text("百度");
- $("#two").text("<a href='http://www.baidu.com'>百度</a>");
- })
也就是说,即使在内容里添加了html标签,也会被当做纯文本解析。
val()
val()类似于JavaScript中的value属性,可以用来设置和获取元素的值,无论元素是文本框、下拉列表还是单选框,它都可以返回元素的值,如果元素为多选,则返回一个包含所有选择的值的数组。
- $(function(){
- console.log($("#username").val());
- })
- $(function(){
- $("#username").val('jack');
- console.log($("#username").val());
- })
DOM操作之获取HTML、文本和值的更多相关文章
- Javascrip动态添加样式,Dom操作,获取自定义属性
var layer=document.querySelector('.layer') 添加样式: 添加单个样式: layer.style.display="block" 添加多个样 ...
- vue操作select获取option值
如何实时的获取你选中的值 只用@change件事 @change="changeProduct($event)" 动态传递参数 vue操作select获取option的ID值 如果 ...
- jQuery学习笔记(二)jQuery中DOM操作
目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...
- Jquery基础之DOM操作
转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...
- jQuery中DOM操作
1 定义:jquery中对DOM的操作就是对DOM元素进行增删查改操作 2 分类: 1)DOM Core(核心):用途广泛 支持多种编程语言 2)HTML DOM:代码简短 只用于处理web ...
- jQuery中的DOM操作总结
jQuery中的DOM操作 DOM是Document Object Medel的缩写,它的意思是文档对象模型,根据W3C的官方说法,DOM是一种跟浏览器,平台以及语言都没有关系的一种规范,也就是一种接 ...
- 页面性能优化和高频dom操作
一.DOM操作影响页面性能的核心问题 通过js操作DOM的代价很高,影响页面性能的主要问题有如下几点: 访问和修改DOM元素 修改DOM元素的样式,导致重绘或重排 通过对DOM元素的事件处理,完成与用 ...
- 高频dom操作和页面性能优化(转载)
作者:gxt19940130 原文:https://feclub.cn/post/content/dom 一.DOM操作影响页面性能的核心问题 通过js操作DOM的代价很高,影响页面性能的主要问题有如 ...
- jQuery里面的DOM操作(查找,创建,添加,删除节点)
一:创建元素节点(添加) 创建元素节点并且把节点作为元素的子节点添加到DOM树上 append(): 在元素下添加元素 用法:$("id").append("定义的节点& ...
随机推荐
- Linux内核分析-使用gdb跟踪调试内核从start_kernel到init进程启动
姓名:江军 ID:fuchen1994 实验日期:2016.3.13 实验指导 使用实验楼的虚拟机打开shell cd LinuxKernel/ qemu -kernel linux-3.18.6/a ...
- DevExpress v17.2新版亮点—WPF篇(六)
用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WPF v17.2 新的Hamburger Menu.Sched ...
- 等比例缩放图片(C#)
private Bitmap ZoomImage(Bitmap bitmap, int destHeight, int destWidth) { try { System.Drawing.Image ...
- IOS的各种控件(转载,防止遗忘)
UITextView控件的详细讲解 感觉写的相当不错,而且很全就直接转载了 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: #import <UIKit/UIKi ...
- nginx+uwsgi+django部署流程
当我们在用django开发的web项目时,开发测试过程中用到的是django自带的测试服务器,由于其安全及稳定等性能方面的局限性,django官方并不建议将测试服务器用在实际生产. nginx+uws ...
- Jmeter系列培训(1)--开山篇
一直以来,我们不断分享,有的人喜欢,也有的人不喜欢,这都没什么,喜欢的点个赞,留个言,不喜欢的就不看好了,今天我们继续,关于jmeter我们分享了很多工作遇到的问题的解决方案,但是很多 ...
- tomcat版本号的修改
我的是8.5.0我将其改为8.0.0 其他版本改也是一样 我改这个版本号就是因为eclipse上没有tomcat8.5.0的配置 所以将其改为8.0.0 在配置web服务器时 ...
- LOJ2538. 「PKUWC2018」Slay the Spire【组合数学】
LINK 思路 首先因为式子后面把方案数乘上了 所以其实只用输出所有方案的攻击力总和 然后很显然可以用强化牌就尽量用 因为每次强化至少把下面的牌翻一倍,肯定是更优的 然后就只有两种情况 强化牌数量少于 ...
- js三级联动
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- NSObject之二
前面一章我们整理了NSObject类,这一章我们来看看NSObject协议的内容. NSObject协议提供了一组方法作为Objective-C对象的基础.其实我们对照一个NSObject类和NSOb ...