- 浏览: 68240 次
文章分类
最新评论
-
小色帝:
我是天才是打发
Jquery实现的Tabs页 -
小色帝:
小色帝 写道1111而温热
Jquery实现的Tabs页 -
小色帝:
1111而温热
Jquery实现的Tabs页
今天参考jquery的文档发现三个相似的函数 text val html ,于是网上Google了一下,这是个问题,没有很好的解答,于是下午无聊,开始研究
text()
jquery的具体的函数功能就不介绍了,其实text是调用jquery中getText(),而getText是一个从DOM数组中取得text value的工具函数(记得是Dom数组),具体实现就是遍历Dom数组的每一个Dom元素,然后判断他的节点类型(if ( elem.nodeType === 3 || elem.nodeType === 4 ))这句代码的意思就是判断此节点是否是文本节点或者是CDATA,若是的话就直接去elem的nodevalue。若不是则判断节点是不是注释节点如不是,则递归遍历此节点的子节点(getText( elem.childNodes ))。如此遍历最后得到text value。
有上面分析可得到jquery对象的text就是取此节点的nodevalue或是此节点的子节点的nodevalue。所以即使嵌套的再深,也会取得文本节点的值。
注意:通过选择器返回的jquery对象其实是一个数组。
<div id=”div1”><div id=”div2”>Find Me</div></div>
jquery代码 $(“#div1”).text() 返回Find Me
val()
val()的具体实现是根据jquery对象包装的Dom元素的value属性来的。并不是所有的Dom都有value属性,详细的各Dom元素具有的属性
DOm中有value属性的是Button ImageButton(设置或返回在按钮上显示的文本) CheckBox(设置或返回 checkbox 的 value 属性的值) File(返回由用户输入设置的文本后,FileUpload 对象的文件名。) Hidden(设置或返回隐藏域的 value 属性的值。),Password ,Radio , Reset (设置或返回按钮上显示的文本),Submit Text Option textarea
注意select虽然没有value属性,但是val在取得元素的value属性之前还有一个判断,子啊valhooks中也好像只针对了select和option
hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
return ret;
其实本人对其中的代码就不是很清楚了(有兴趣自己研究啊)。但他保证了select正确取得val();
而其他jquery对象取得Val,好像只是一个“”;
html
不用我说你也已经猜到,这个方法调用的是哪个Dom属性,bingo!就是innerhtnl,其实本人对innerhtml不是很熟
看起来跟text很像啊,其实不然,前面我们说过,text其实取得一致都是text节点的值,而innerhtml却是只取包裹的元素,像上面的那个例子就会返回<div di=”div2
“>Find ME</div> ,其实我还试过取得select的html,如你所愿确实是很多option,但值得注意的是并不是所有的html标签都可以包裹元素,比如像input就不可以。
总体上我就理解这么多,初学jquery很多东西不知道,希望各位见谅
text()
jquery的具体的函数功能就不介绍了,其实text是调用jquery中getText(),而getText是一个从DOM数组中取得text value的工具函数(记得是Dom数组),具体实现就是遍历Dom数组的每一个Dom元素,然后判断他的节点类型(if ( elem.nodeType === 3 || elem.nodeType === 4 ))这句代码的意思就是判断此节点是否是文本节点或者是CDATA,若是的话就直接去elem的nodevalue。若不是则判断节点是不是注释节点如不是,则递归遍历此节点的子节点(getText( elem.childNodes ))。如此遍历最后得到text value。
有上面分析可得到jquery对象的text就是取此节点的nodevalue或是此节点的子节点的nodevalue。所以即使嵌套的再深,也会取得文本节点的值。
注意:通过选择器返回的jquery对象其实是一个数组。
<div id=”div1”><div id=”div2”>Find Me</div></div>
jquery代码 $(“#div1”).text() 返回Find Me
val()
val()的具体实现是根据jquery对象包装的Dom元素的value属性来的。并不是所有的Dom都有value属性,详细的各Dom元素具有的属性
DOm中有value属性的是Button ImageButton(设置或返回在按钮上显示的文本) CheckBox(设置或返回 checkbox 的 value 属性的值) File(返回由用户输入设置的文本后,FileUpload 对象的文件名。) Hidden(设置或返回隐藏域的 value 属性的值。),Password ,Radio , Reset (设置或返回按钮上显示的文本),Submit Text Option textarea
注意select虽然没有value属性,但是val在取得元素的value属性之前还有一个判断,子啊valhooks中也好像只针对了select和option
hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
return ret;
其实本人对其中的代码就不是很清楚了(有兴趣自己研究啊)。但他保证了select正确取得val();
而其他jquery对象取得Val,好像只是一个“”;
html
不用我说你也已经猜到,这个方法调用的是哪个Dom属性,bingo!就是innerhtnl,其实本人对innerhtml不是很熟
看起来跟text很像啊,其实不然,前面我们说过,text其实取得一致都是text节点的值,而innerhtml却是只取包裹的元素,像上面的那个例子就会返回<div di=”div2
“>Find ME</div> ,其实我还试过取得select的html,如你所愿确实是很多option,但值得注意的是并不是所有的html标签都可以包裹元素,比如像input就不可以。
总体上我就理解这么多,初学jquery很多东西不知道,希望各位见谅
发表评论
-
项目里 Jquery 日期空间,vilidation,highchars控件
2017-03-06 11:24 0项目中用到了一个Jquery 日期控件,挺好用的,特意总结下 ... -
jquery常用事件(整理)
2017-02-13 17:47 276Jquery事件 (一)、事件 ... -
开源轻量级移动端友好的JS地图库——leaflet学习教程
2017-01-05 18:57 1194开源轻量级移动端友好的JS地图库——leaflet学习教程 ... -
$("parent > child")、$("A B")、$("div#test")、$("div,#test")、$(".test","div")
2016-12-15 10:38 337这个标题似乎有些奇怪,但这些都是合法有效的jQuery选择器。 ... -
type="button" ,"submit" 的区别(转)
2016-07-22 11:16 493type="button" ,"submit" 的区别 ... -
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2016-07-21 14:10 418Jquery中$.get(),$.post(),$.a ... -
Ztree用法事例
2016-05-17 01:11 539【简介】 zTree 是利用 jQuery 的核心代码,实现一 ... -
jQuery 数据缓存data(name, value)详解及实现
2016-05-16 10:35 430本文要讨论的是最流行的JavaScript框架jQuery的数 ... -
jQuery数据缓存$.data 的使用以及源码解析
2016-05-16 00:49 437jQuery数据缓存$.data 的使用以及源码解析 实现原 ... -
jQuery.data()
2016-05-16 00:48 333jQuery.data() 所属分类:数据操作 | 工具类 E ... -
jQuery之AJAX
2016-05-16 00:16 406jQuery之AJAX 一、load() 加载页面数据 ... -
JQuery OrgChart
2016-05-15 12:36 570Query OrgChart 是一个jQuery插件能够让帮你 ... -
JS横向树(组织结构)
2016-05-15 11:19 2925最近看到不少人有类似的需求,实现组织架构的横向展开,显示,无聊 ... -
我也来说说怎么封装jQuery插件
2016-05-14 19:32 405http://www.w3cfuns.com/notes/17 ... -
echarts 各个属性意义注释
2016-05-14 18:27 1089<!DOCTYPE html PUBLIC " ... -
jQuery插件原来如此简单 jQuery插件的机制及实战
2016-05-14 01:00 486jQuery插件原来如此简单 ... -
Echarts 仪表盘实例
2016-05-14 00:51 5289HTML 首先引入Echarts,然后在需要放置图表的地方加上 ... -
Jquery封装对象实例
2016-05-14 00:48 577jQuery自定义类封装 jQuery自定义类封装: ( ... -
Jquery 选择器总结
2015-04-15 19:21 521jQuery 的选择器可谓之强 ... -
关于SS框架后台代码开发规范实例
2013-02-01 17:20 1015工作半年了,接触的第一个项目就是SS为后台的框架的开发。 ...
相关推荐
以上就是对jquery中html、val与text属性取值的联系与区别的详细介绍。通过具体的示例和应用场景,我们能够更加清晰地理解这三者各自的作用,并在实际开发中正确使用它们来获取或设置相应的DOM元素内容。
可以使用`html()`、`text()`和`val()`方法来设置或获取元素的HTML内容、文本内容和值。`append()`、`prepend()`用于在元素内部添加内容,而`remove()`则可以移除元素。 **三、事件处理** jQuery提供了一套统一的...
jQuery提供了丰富的DOM操作方法,如`html()`、`text()`、`val()`用于设置或获取元素的HTML内容、文本内容和值;`append()`、`prepend()`用于在元素内部添加内容;`before()`、`after()`用于在元素前后插入内容。 四...
对于初学者来说,通过实践jQuery的三级联动,可以更好地理解和掌握DOM操作、事件绑定以及数据处理等基础概念。 在实际的实现过程中,首先我们需要创建三个级别的选项列表,通常用`<select>`标签表示。然后,通过...
此外,还有`.html()`, `.text()`, `.attr()`, `.val()`等方法用于获取或设置元素内容和属性。 三、事件处理 jQuery对事件处理进行了封装,使得事件绑定和解绑更加简洁。例如,`$("#myButton").click(function() { ....
`remove()`用于删除元素,而`html()`, `text()`, `val()`则分别用于获取或设置元素的HTML内容、文本内容和表单字段值。 ### 4. 事件处理 jQuery的事件处理方式比原生JavaScript更加简洁。`on()`函数是事件绑定的...
2. DOM操作:通过`$()`函数可以创建jQuery对象,然后使用`.html()`, `.text()`, `.attr()`, `.val()`等方法来读取或修改元素的内容、属性和值。 3. 链式操作:jQuery的方法返回的都是jQuery对象,因此可以进行链式...
- **元素增删改查**: `append()`, `prepend()`, `remove()`, `empty()`, `replaceWith()`, `toggleClass()`, `attr()`, `val()`, `text()`, `html()`等。 - **事件处理**: `click()`, `change()`, `hover()`, `...
例如,`$(“div”).eq(2)`和`$(“div”).get(2)`分别对应集合中的第三个`<div>`元素,前者可继续调用jQuery方法,后者则适用于DOM方法。 4. **同名函数实现set和get**:许多jQuery方法如`html()`, `text()`, `...
jQuery提供了一系列方法用于DOM操作,如`html()`、`text()`和`val()`,分别用于获取或设置元素的HTML内容、文本内容和表单字段的值。`append()`和`prepend()`用于在元素内部添加内容,`before()`和`after()`则在元素...
4. 修改元素:$.fn.html()、$.fn.text()、$.fn.val()分别用于设置元素内容、文本和值。 5. 操作属性:$.fn.attr()用于获取或设置属性,$.fn.removeAttr()用于移除属性。 三、事件处理 6. 绑定事件:$.fn.on()用于...
总的来说,这个“jquery类库及技巧”压缩包是jQuery开发者不可或缺的工具,无论你是初学者还是经验丰富的开发者,都能从中找到有价值的信息,提升开发效率和项目质量。通过深入学习和实践,你将能够充分利用jQuery的...
例如,了解如何使用`$(selector)`选择元素,如何使用`.html()`、`.text()`和`.val()`来操作HTML内容,以及如何利用`.append()`、`.prepend()`等方法进行DOM操作。 jQuery_api_for_dw4和jQuery_api_for_dw3是为...
同时,$.html()、$.text()和$.val()用于获取或设置元素的HTML、文本和值。此外,$.remove()和$.empty()可以用来移除元素和清空内容。 四、事件处理 jQuery提供了统一的事件绑定方法$.on(),可以方便地为元素添加...
此外,`html()`, `text()`, 和 `val()`分别用于设置或获取元素的HTML内容、文本内容和表单字段的值。 在事件处理方面,jQuery提供了一种统一的方式来绑定和触发事件。例如,`click()`函数用于绑定点击事件,`on()`...
jQuery提供了一系列方法用于操作DOM元素,如`append()`和`prepend()`用于在元素内部添加内容,`remove()`和`empty()`用来移除元素或清空内容,`clone()`用于复制元素,而`html()`, `text()`, 和`val()`则分别用于...
也就是说,如果你对一个元素调用val()方法并赋予某个值,jQuery会从的最后一个元素开始向前查找,直到找到匹配的value或显示文本(text)为止,并将该项设为选中状态。 这个特性在一些特定的场景下会变得尤为重要,...
jQuery对象提供了许多方法,如`html()`、`text()`和`val()`,用于获取或设置元素的HTML内容、文本内容和表单字段的值。 二、DOM操作 jQuery提供了强大的DOM操作接口。`append()`和`prepend()`可以向元素内部添加...
jQuery提供了丰富的DOM操作方法,如`append()`用于在元素内部添加内容,`prepend()`在元素内部前置内容,`remove()`删除匹配的元素,`html()`、`text()`和`val()`分别用于获取或设置元素的HTML内容、文本内容和表单...