jQuery获取文本节点之 text()/val()/html() 方法区别

在jquery中val,text,html都能取到值,或加一个参数来赋值,那么它们有些什么区别?下面我们来举例说明: 
首先,html属性中有两个方法,一个有参,一个无参 
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 
例子: 
html页面代码 : 


代码如下:
<p></p><br/> 
<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(", ")); 
结果:[ <p><b>Single:</b>Single<b>Multiple:</b>Multiple, Multiple3</p>] 
2.有参val(val):设置每一个匹配元素的值。在 jQuery 1.2, 这也可以为check,select,radio元件赋值,返回一个jquery对象 
html页面代码: 
<input type="text"/> 
jquery代码:$("input").val("hello world!"); 

结果:hello world!

jquery中html()与val()的用法区别: 
1). html()与val()的区别 
$("#myId").html("abc"); 
如果myid不存在上面的代码也不会出错,只是不进行任何操作; 
var data=$("#myId").html(); 
如果myid不存在,data为null值 
var data=$("#myId").val(); 
如果myid不存在,data为undefined 

2). jquery如何判断元素存在 
jquery选择器获取element 无论element是否存在都将返回一个对象 
var my_element=$("#myId"); 
这里无论元素"myid"是否存在,my_element始终是一个object 
使用下面的方法判断"myid"元素是否存在 
if(my_element.length>0)){ 
alert("exist"); 
}else{ 
alert("not found");

原文地址:https://www.cnblogs.com/vera369/p/7135834.html