在前面的知识中,我们有提到一个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、文本和值的更多相关文章

  1. Javascrip动态添加样式,Dom操作,获取自定义属性

    var layer=document.querySelector('.layer') 添加样式: 添加单个样式: layer.style.display="block" 添加多个样 ...

  2. vue操作select获取option值

    如何实时的获取你选中的值 只用@change件事 @change="changeProduct($event)" 动态传递参数 vue操作select获取option的ID值 如果 ...

  3. jQuery学习笔记(二)jQuery中DOM操作

    目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...

  4. Jquery基础之DOM操作

    转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...

  5. jQuery中DOM操作

    1 定义:jquery中对DOM的操作就是对DOM元素进行增删查改操作 2 分类:      1)DOM Core(核心):用途广泛 支持多种编程语言 2)HTML DOM:代码简短 只用于处理web ...

  6. jQuery中的DOM操作总结

    jQuery中的DOM操作 DOM是Document Object Medel的缩写,它的意思是文档对象模型,根据W3C的官方说法,DOM是一种跟浏览器,平台以及语言都没有关系的一种规范,也就是一种接 ...

  7. 页面性能优化和高频dom操作

    一.DOM操作影响页面性能的核心问题 通过js操作DOM的代价很高,影响页面性能的主要问题有如下几点: 访问和修改DOM元素 修改DOM元素的样式,导致重绘或重排 通过对DOM元素的事件处理,完成与用 ...

  8. 高频dom操作和页面性能优化(转载)

    作者:gxt19940130 原文:https://feclub.cn/post/content/dom 一.DOM操作影响页面性能的核心问题 通过js操作DOM的代价很高,影响页面性能的主要问题有如 ...

  9. jQuery里面的DOM操作(查找,创建,添加,删除节点)

    一:创建元素节点(添加) 创建元素节点并且把节点作为元素的子节点添加到DOM树上 append(): 在元素下添加元素 用法:$("id").append("定义的节点& ...

随机推荐

  1. Flask初级(二)为flash创建路由,访问路径。

    Project name :Flask_Plan 上一篇文章,我们创建了默认的flask项目,也可以运行起来. 但是只有一个首页,只显示一个hello world. 现在我们创建访问路由,也就是访问地 ...

  2. Solrj调用Solr API

    在MyEclipse下的SSH项目,要调用Solr接口进行操作. 1.先运行solr 2.在已搭建好的SSH项目中用Solrj调用Solr的接口 3.导入如下solr的jar包到搭建好的SSH项目的W ...

  3. KMP 详解图

  4. 粗略学习《Agile Guide》后的总结

    碍于个人能力极度欠佳,所以即使我大致了解了一下何谓“Agile Guide”(敏捷开发),也不很能理解其中的软件工程思想,只能大概谈一下我的理解. 我所理解的“敏捷开发”,应该是一种特殊的.相较于传统 ...

  5. grafana查询中的变量templating

    有时我们在管理成百上千台机器的时候,配置grafana无疑是明智的,因为你不需要一个一个的把每个机器的图形都配置一遍,利用templating就可以瞬间实现n台机器的状态显示了. templating ...

  6. SWIFT中函数返回值为Tuple

    在playgroundm内键入以下代码,求一个成绩数组内最大分值和最小分值 func maxminScore(scores:Array<Int>) -> (maxScore:Int, ...

  7. SWIFT Optional Value

    SWIFT中有一个类型定义叫可选值,在变量类型后面加一个?号即可定义一个类型为Optional Value的变量,当在使用变量时要用到强制解包!. 如在页面上有一个可选输入年龄的框,在接受数据的时间就 ...

  8. OK335xS UART device registe hacking

    /************************************************************************* * OK335xS UART device reg ...

  9. HPU 1476: 括号括号

    1476: 括号括号 时间限制: 3 Sec 内存限制: 128 MB 提交: 305 解决: 61 统计 题目描述 小明今年上大学,在大学里发现有很多同学都女朋友,两人整天都在一起腻歪,小明看到后感 ...

  10. C#对文件I/O的一些基本操作

    System.IO命名空间包含允许在数据流和文件上进行同步,异步及写入的类型,下面是关于c#文件的I/O基本操作讲解,需要的朋友可以参考下 文件是一些永久存储及具有特定顺序的字节组成的一个有序的,具有 ...