浅谈jquery中,html、val与text三者属性取值的联系与区别
首先,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>
结果:[ <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当中用法:
$("#name").val() 一起jquery,17jquery
1 文本框:
<input type="text" id="name"/>内容来自17jquery
2 文本域:
<textarea id="textArea"/> 17jquery.com
3 下拉框:
<select id="address"> <option value="0">北京</option> <option value="1">成都</option> <option value="2">昆明</option> </select> 一起jquery,17jquery
4 文件框:
<input type="file" name="file" id="file"/> 17jquery.com
5 按钮:
<input type="button" id="bt" value="中国"/> 内容来自17jquery
特殊情况:
6 单选框:
<input type="radio" name="sex" value="0" checked/>男 <input type="radio" name="sex" value="1" />女 <input type="radio" name="sex" value="2" />人妖17jquery.com
jQuery获取方式如下:
//$('input[type=radio]:checked').val(); //$('input[type=radio][name=sex]:checked').val(); //$('input[type=radio][name=sex][checked]').val(); //$('input[type=radio][@name=sex][checked]').val(); //$('input[type=radio]@name=sex]:checked').val(); $(':radio[name=sex]:checked').val(); 17jquery.com
7 多复选框:
<input type="checkbox" name="love" value="电影"/>电影 <input type="checkbox" name="love" value="图书"/>图书 <input type="checkbox" name="love" value="学习" checked/>学习 <input type="checkbox" name="love" value="编程"/>编程一起jquery,17jquery
jQuery获取方式如下:
var arr = []; // $('input[type=checkbox][name=love]:checked').each(function() //所有为checked状态的多选框 $(':checkbox[name=love]:checked').each(function() { arr.push(this.value); }); //arr.toString();一起jquery,17jquery
8 多下拉框
<select id="address2" multiple > <option value="0">北京</option> <option value="1">石家庄</option> <option value="2">保定</option> </select>17jquery.com
jQuery获取方式如下:
var arr = []; $('#address2>option:selected').each(function() { //直接用this可提高速度,如去掉上面的:selected就可用下面这种方式 //if(this.selected == true){ arr.push(this.value + "," + this.text);