JQuery中一些常用方法的比较

  由于实习工作中基本用的都是JQuery的内容,在实际操作过程中经常遇到类似方法的选择,在这简单地对方法进行比较。

1、JQuery中html()、text()和val()的区别

  简单的说,html()是指读取和修改一个元素的html内容(Get the HTML contents of the first element in the set of matched elements.),

       text()是指读取和修改一个元素的文本内容(Get the combined text contents of each element in the set of matched elements, including their descendants.),

       val()是指读取和修改一个元素的value字段的值(Get the current value of the first element in the set of matched elements.)。

  对于这三个方法都有无参和有参的两种形式,两者的效果很明显,无参的是读取元素的内容,而有参的是设置修改元素的内容,但是值得注意的是,对于html()方法,无参即读取内容的时候是返回匹配到的第一个元素的内容,而有参即修改内容时是修改匹配到的所有元素的内容

  以上是有参和无参的区别,接下来是三者之间的区别,这里逐个分析。

  1) html()

  无参时读取元素的html内容,这里的html内容是指,包括元素内部的html元素和文本元素,这里内部的html元素包括尖括号(<>)所表示的html标签。要注意如果目标元素多于一个时,只会返回匹配到的第一个元素的html内容

  有参时修改元素的html内容,亦即将匹配到的元素下的html内容更改成方法里的参数,原本的html内容会被覆盖,与无参时读取内容不同的是,修改内容的作用对象是每一个匹配到的元素

  2) text()

  无参时读取元素的纯文本内容,这里纯文本的意思是,忽略掉元素内部的非文本的html元素,也就是尖括号(<>)表示的html标签会被忽略。但是与html()方法无参时不同,此时读取到的是每一个匹配到的元素的文本内容

  有参时修改元素的纯文本内容,将匹配到的元素中的所有内容,包括html内容,覆盖成text()方法中的参数,也就是说,匹配到的元素下的内容被修改成一段文本

  html代码:

1 <div id="container">
2   <p>这是一段代码<a>这是嵌入p中的a文本</a></p>
3 </div>

  js代码:

<script>
  console.log($("#container p").html());  //这是一段代码<a>这是嵌入p中的a文本</a>
  console.log($("#container p").text());  //这是一段代码这是嵌入p中的a文本
</script>
<script>
  $("#container p").html(“<p>这是修改过的内容</p>”);  //这是一段代码<a>这是嵌入p中的a文本</a>
  console.log($("#container p").html());  //<p>这是修改过的内容</p>
  $("#container p").text(“<p>这是修改过的内容</p>”); //这是一段代码这是嵌入p中的a文本
  console.log($("#container p").html());  //&lt;p&gt;这是修改过的内容&lt;/p&gt;
</script>

  从这两段代码可以就看出html()和text()在有参和无参的区别。

  3) val()

  val()方法是常用于获取表单元素的内容,主要需要注意的有以下几点:

    对于“<select multiple="multiple">”元素,val()方法返回一个包含每个选中的option的数组;

    对于下拉选择框<select></select>和复选框input[type="checkbox"]、单选框input[type="radio"],使用“:selected”和“:checked”选择器来获取值。

时间: 2024-10-18 23:54:40

JQuery中一些常用方法的比较的相关文章

jquery中一些常用方法总结

1.EL表达式: EL表达式最常用的场景是前后台传递数据,数据格式通常是字符串和list,范围一般是request,用法如下: 后台java代码: 1 String str = "hello world"; 2 request.setAttribute("str",str); 3 4 List<Map> list = new ArrayList<Map>(); 5 Map map1 =new HashMap(); 6 map1.put(&qu

JS自定义对象,正则表达式,JQuery中的一些知识点

一:自定义对象 1.基本概念:①对象:包含一系列无序属性和方法的集合.②键值对:对象中的数据是以键值对的形式存在的,以键取值.③属性:描述对象特征的一系列变量.[对象中的变量]④方法:描述对象行为的一系列方法.[对象中的函数] 2. 对象的声明: ①字面量声明:var obj={}: ②new 关键字:var lisi = new Object(); 3.对象中属性和方法的读写方式: ①通过.运算符:对象内部:this.属性名 this.方法名(); 对象外部:对象名.属性名 对象名.方法名.

大白话讲解Promise(三)搞懂jquery中的Promise

http://www.cnblogs.com/lvdabao/p/jquery-deferred.html @吕大豹 前两篇我们讲了ES6中的Promise以及Promise/A+规范,在Promise的知识体系中,jquery当然是必不可少的一环,所以本篇就来讲讲jquery中的Promise,也就是我们所知道的Deferred对象. 事实上,在此之前网上有很多文章在讲jquery Deferred对象了,但是总喜欢把ajax和Deferred混在一起讲,容易把人搞混.when.done.pr

JQuery和JavaScript常用方法的一些区别

jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单,为了说明区别,下面与大家分享下JavaScript 与JQuery 常用方法比较 jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单.人家怎么说的来着,jquery就是要用更少的代码,漂亮的完成更多的功能.JavaScript 与JQuery 常用方法比较 1.加载DOM区别 JavaScript: window.onload function firs

介绍JQuery的基础常用方法$()

介绍JQuery的基础常用方法$() 1. has()包含的意思举例:第一个div包含了span,第二个没有包含<div id="div1"><span>1</span></br> </div><div>111 </div> 执行代码发现 包含span的div的css样式改变了,这就是包含 2.filter()过滤,括号内有参数,可以看例子理解<div id="div1">

网站开发div在Jquery中的鼠标事件失去焦点

网站div在Jquery中的鼠标事件失去焦点,今天在做网站开发的时候遇到了个问题,就是我在用Jquery做导航的时候,用到了Jquery的鼠标事件mouseout,但问题出来了,我有两个div,A的div包含了B的div,本来我是想当鼠标移出A的div的时候隐藏div,可是当我的鼠标移到B的div在移出的时候也会触发jquery的隐藏事件,这让人很头痛. 在网上搜了下,找到了解决的法子,就是直接把mouseout换成了mouseleave就可以了,具体的问题请大家参考Jquery的开发文档吧

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

JQuery中$.each 和$(selector).each()的区别详解

1.$(selector).each() jQuery 遍历 - each() 方法主要用于DOM遍历,each() 方法规定为每个匹配元素规定运行的函数. 语法: $(selector).each(function(index,element)) W3School上显示回调函数是必须的,index - 选择器的 index 位置,element - 当前的元素(也可使用 "this" 选择器). $().each,对于这个方法,在dom处理上面用的较多.如果页面有多个input标签类

jQuery中的事件

1:加载dom     在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件. 在常规的 JavaScript 代码中,     通常使用 window.onload 方法, 在 jQuery 中使用$(document).ready() 方法.     $(document).ready(function(){});缩写$(function(){}); 2: 事件绑定:对匹配的元素进行特定的事件绑定: bind() 3:合成事件:         hover():