jquery中html、val与text三者属性取值的联系与区别介绍
首先,html属性中有两个方法,一个有参,一个无参
1. 无参html():取得第一个匹配元素的html内容。这个函数不能用于xml文档。但可以用于xhtml文档,返回的是一个string
例子:
html页面代码:<p><p>hello</p></p>
jquery代码:$("p").html();
结果:hello
2.有参html(val):设置每一个匹配元素的html内容。这个函数不能用于xml文档。但可以用于xhtml文档。返回一个jquery对象
html页面代码:<p></p>
jquery代码:$("p").html("<p>nice to meet you</p>");
结果:[ <p><p> nice to meet you</p></p> ]
其次,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!
-----------------------------------------------------------------
总结:
1.如果一个对下拉框的<select>标签中的option进行赋值,<option name="",value=""></option>虽然option有value属性,但是在页面上option的这个value属性并不是负责进行在页面上进行显示的,而真正能在页面上进行显示出来的是option标签之间的文本域。所以给option标签赋值要用html()的方法
2.如果对<input id="pro" name="province" value="安徽省">标签进行赋值,因为input标签中的value属性就是负责在页面上进行显示的,所以要是对input标签的文本赋值并且在解析的时候将文本值在浏览器上显示出来,那么就要用val(),属性。
下一篇: 这怕是成年人才答不出来吧