jquery中html(), text(),val()区别
来源:互联网 发布:烈鼎网络 编辑:程序博客网 时间:2024/05/22 10:39
https://zhidao.baidu.com/question/307317838.html
http://www.cnblogs.com/aqbyygyyga/archive/2011/11/03/2234926.html
http://www.poluoluo.com/jzxy/201607/487559.html
*************************************************************
2.<span>你好</span> 这个就用 text()。
3.<div><p>您好!</p></div> 这个就用html()。
结合他们说的,我想你已经明白了。
text(), 相当于 innerTEXT
val() 只有有value属性的才能取到值
***********************************************************
- .html()用为读取和修改元素的HTML标签
- .text()用来读取或修改元素的纯文本内容
- .val()用来读取或修改表单元素的value值。
这三个方法功能上的对比
- .html(),.text(),.val()三种方法都是用来读取选定元素的内容;只不过.html()是用来读取元素的HTML内容(包括其Html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值。其中.和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。
- .html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。
- .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。
<div>here is a big DIV</div>
</div>
function showVal()
{
var div = $("#div");
alert("showVal(): "+div.val());
显示为空
}
function showHtml()
{
var div = $("#div");
alert("showHtml(): "+div.html());
显示为:
<p>here is a paragram</p>
<div>here is a big DIV</div>
}
function showText()
{var div = $("#div");
alert("showText(): "+div.text());
显示为:
here is a paragram
here is a big DIV
}
总结:val()---一般 用在input上,而不用在其他元素,用来获取input或者是select的值
html()和text()可用在多种元素上,但是html()相当于依据源代码返回,也就是在返回的内容中会包含各种tag,而text()则相当于是依据页面显示返回,返回的内容是出去各种tag之间的内容
1. 无参html():取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档,返回的是一个String
例子:html页面代码:<div><p>Hello</p></div>
jquery代码:$("div").html();
结果:Hello
2.有参html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。返回一个jquery对象
html页面代码:<div></div>jquery代码:$("div").html("<p>Nice to meet you</p>");
结果:[ <div><p> Nice to meet you</p></div> ]
其次,text属性中有两个方法,一个有参,一个无参
1. 无参text():取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个String
例子:html页面代码:<p><b>Hello</b> fine</p>
<p>Thank you!</p>
jquery代码:$("p").text();
结果:HellofineThankyou!
2.有参text(val):设置所有匹配元素的文本内容,与 html() 类似, 但将编码 HTML (将 "<" 和 ">" 替换成相应的HTML实体).返回一个jquery对象
html页面代码:<p>Test Paragraph.</p>jquery代码:$("p").text("<b>Some</b> new text.");
结果:[ <p><b>Some</b> new text.</p> ]
最后,val()属性中也有两个方法,一个有参,一个无参。
1.无参val():获得第一个匹配元素的当前值。在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多选,将返回一个数组,其包含所选的值。
返回的是一个String、 array
结果:[ <p><b>Single:</b>Single<b>Multiple:</b>Multiple, Multiple3</p>]
例子: //多选下拉框,$('#multiple').val()返回数组
//$("#multiple").val().join(", "))以,连接数组中每个值
html页面代码 :
<select id="single">
<option>Single</option>
<option>Single2</option>
</select>
<select id="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
jquery代码:
("p").append( "<b>Single:</b> " + $("#single").val() + " <b>Multiple:</b> " + $("#multiple").val().join(", "));
2.有参val(val):设置每一个匹配元素的值。在 jQuery 1.2, 这也可以为check,select,radio元件赋值,返回一个jquery对象
html页面代码:
<input type="text"/>
jquery代码:$("input").val("hello world!");
结果:hello world!
***************************************************简单的说:html()和text()的区别主要在于是否包含标签。而val()针对的是表单元素。
但是有时还是不是那么太清晰。
html(),val(),text()都分为有参和无参。
举例说明它们的不同之处:
html()在没有参数的情况下,取得第一个匹配元素的内容。必须要注意的是,即使匹配多个,也只能取得匹配的第一个元素。
如:
<body><p>你选中这段文字后,看看它们的文本颜色和背景色,就能明白::selection的作用。</p><h3>选中下面的文字,看看它的颜色</h3><h3>选中下面的文字,看看它的颜色</h3><h3>选中下面的文字,看看它的颜色</h3><input type="text" value="aaa"></body></html><script src="../js/jquery-1.11.2.min.js"></script><script>var con = $("p").nextAll("h3");console.log(con.html());</script>
此处的con匹配的3个h3元素,但是只会打印出第一个h3的内容。
如果我们此处换成text();那么会打印出三个h3的内容。
如果带参数的话,con.html(“aaa”);和con.text(“aaa”);效果一样,都能改变3个h3的内容。
不过如果con.html("<span>'aaa'</span>")和con.text("<span>'aaa'</span>");使用html会将span解析为标签,而text,则会将作为字符串插入。
<body><p>你选中这段文字后,看看它们的文本颜色和背景色,就能明白::selection的作用。</p><h3><span>选中下面的文字,看看它的颜色</span></h3><h3><span>选中下面的文字,看看它的颜色</span></h3><input type="text" value="aaa"></body></html><script src="../js/jquery-1.11.2.min.js"></script><script>var con = $("p").nextAll("h3");console.log(con.html());console.log(con.text());</script>
html()会将标签也取出,但是text()只会获取文本部分。
再看val();
<body><input type="text" value="aaa"/><input type="button" value="按钮"/>选择性别:<input type="radio" name="sex" checked value="男"><label>男</label><input type="radio" name="sex" value="女"><label>女</label><br><br>选择地区:<select style="width: 150px"><option value="1">上海</option><option value="2">杭州</option><option value="3">南京</option><option value="4">丽江</option></select></body></html><script src="../js/jquery-1.11.2.min.js"></script><script>$(function () {console.log($("input:text").val());console.log($("input:button").val());console.log($("input[name='sex']:checked").val());console.log($("select option:selected").text());});</script>
此处,可以关注下如何获取单选按钮的值,如何获取选中的select的值。
需要注意的是,option的value并不是显示在页面上的内容,因为设置或者是获取option的页面内容,需要使用text(),当然使用html()亦可。
关于三者的区别小结
1. .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。
2 .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。
以上所述是小编给大家介绍的jQuery中text() val()和html()的区别实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对百度网站的支持!
- jquery中html,text,val的区别
- jquery中html()、text()、val()的区别
- jquery中html()、text()、val()的区别
- jquery中html()、text()、val()的区别
- jquery中html()、text()、val()的区别
- jquery中text(),val(),html()区别
- jquery中html、text、val的区别
- jQuery中html()、text()、val()的区别
- jquery中html()、text()、val()的区别
- jquery中html()、text()、val()的区别
- JQuery中,html(),text(),val()区别
- jquery中html(), text(),val()区别
- jquery中html、text、val的区别
- jquery中text,html,val的区别
- jquery中text(),val(),html()区别
- jQuery中 html(),text(),val()的区别
- jquery中html、val、text的区别
- Jquery中.html(),text(),val()的区别
- Codeforces Round #383 (Div. 2) A
- Gson解析Json数据,并设置到编辑框
- 从网易与淘宝的font-size思考前端设计稿与工作流
- 百度媒体云播放器cyberplayer支持M3U8格式的HTML5播放器
- 深圳电子工程师的多年电子产品PCB设计经验
- jquery中html(), text(),val()区别
- Protel DXP绘制PCB板的流程
- Oracle内存管理PGA详解
- ubuntu16.04 mongodb允许远程访问
- Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
- item含有checkbox,setOnItemClickListener方法失效的问题
- error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
- (POJ1195)Mobile phones <二维树状数组>
- [OpenGL ES 03]3D变换:模型,视图,投影与Viewport