这篇文章主要介绍了 jQuery 对 html 元素的取值与赋值, 较为详细的分析了 jQuery 针对常见 html 元素的获取与赋值技巧, 非常简单实用, 需要的朋友可以参考下
jQuery 是一个兼容多浏览器的 javascript 框架,核心理念是 write less,do more(写得更少, 做得更多)。jQuery 在 2006 年 1 月由美国人 John Resig 在纽约的 barcamp 发布,吸引了来自世界各地的众多 JavaScript 高手加入,由 Dave Methvin 率领团队进行开发。
本文实例讲述了 jQuery 对 html 元素的取值与赋值方法。分享给大家供大家参考,具体如下:
Jquery 给基本控件的取值、赋值
TEXTBOX:
- var str = $('#txt').val();
- $('#txt').val("Set Lbl Value");
- //文本框,文本区域:
- $("#text_id").attr("value",'');//清空内容
- $("#text_id").attr("value",'test');// 填充内容
LABLE:
- var str = $('#lbl').text();
- $('#lbl').text("Set Lbl Value");
- var valradio = $("input[@type=radio][@checked]").val();
- var item = $('input[@name=items][@checked]').val();
- var checkboxval = $("#checkbox_id").attr("value");
- var selectval = $('#select_id').val();
多选框 checkbox:
- $("#chk_id").attr("checked",'');//使其未勾选
- $("#chk_id").attr("checked",true);// 勾选
- if($("#chk_id").attr('checked')==true) //判断是否已经选中
单选组 radio:
- $("input[@type=radio]").attr("checked", '2'); //设置value=2的项目为当前选中项
下拉框 select:
- $("#select_id").attr("value",'test');// 设置value=test的项目为当前选中项
- $("<option value='test'>test</option><option value='test2'>test2</option>").appendTo("#select_id")//添加下拉框的 option
- $("#select_id").empty();//清空下拉框
获取一组名为 (items) 的 radio 被选中项的值
- var item = $('input[@name=items][@checked]').val(); //若未被选中 则val() = undefined
获取 select 被选中项的文本
- var item = $("select[@name=items] option[@selected]").text();
- select下拉框的第二个元素为当前选中值
- $('#select_id')[0].selectedIndex = 1;
radio 单选组的第二个元素为当前选中值
- $('input[@name=items]').get(1).checked = true;
重置表单:
- $("form").each(function(){
- .reset();
- });
补充:
jQuery 对 form 表单元素的取值与赋值:
1. 选取元素
$("#myid") 效果等于 document.getElementById("myid"), 但是写的字符要少好多啊.
如果需要将 jQuery 对象转换成 html 元素, 则只需要取其第 0 个元素即可. 例如 $("#myid") 返回的是 jQuery 对象, 而 $("#myid")[0] 返回的就是 html 元素
如果选择所有的 img 元素, 那么这么写: $("img")
如果选择带有 class="TextBox" 的 div 元素 (<div class="TextBox"></div>), 那么这么写: $("div.TextBox")
选择带有 myattr 属性的元素 $("div[myattr]")
选择带有 myattr 属性, 并且属性值等于 myclass 的元素 $("div[myattr='myclass']")
属性不等于 [myattr!='myclass']
属性以 my 开头 [myattr^='my']
属性以 class 结尾 [myattr$='class']
属性包含 cla 这三个字符 [myattr*='cla']
如果一个选择会返回多个元素, 并且希望每返回一个元素, 就把某些属性应用到该元素上, 可以这么写
- $("div").each(function()
- {
- $(this).CSS("background-color", "#F00″);
- alert($(this).html());
- $(this).width("200px");
- });
2. 事件
给页面加 onload 事件处理方法
- $(function()
- {
- alert("页面结构加载完毕, 但是可能某些图片尚未加载(一般情况下, 此事件就够用了)");
- });
可以给页面绑定多个 onload 事件处理方法
- $(function()
- {
- alert("我首先被执行");
- });
- $(function()
- {
- alert("我第二被执行");
- });
绑定特殊事件
- $("#myid").keydown(function()
- {
- alert("触发了keydown事件");
- });
除了这些常用的, 不常用的事件需要通过 bind 方法绑定
3. 元素属性 / 方法
得到一个元素的高度, $("#myid").height()
得到一个元素的位置, $("#myid").offset() 返回的是一个 offset 对象, 如果取元素位置的 top, 则 $("#myid").offset().top,? 取 left 则 $("#myid").offset().left
得到一个元素的 innerHTML, $("#myid").html()
得到一个元素的 innerText, $("#myid").text()
得到一个文本框的值, $("#myid").val()
得到一个元素的属性, $("#myid").attr("myattribute")
以上这些方法有个基本特征, 就是不带参数表示取值, 带有参数表示设定值 (除了 offset), 例如
- $("#myid").height("20″);
- $("#myid").html("<a href=">asdasd</a>")
- $("#myid").val("asdasd")
需要注意, offset 是只读的.
给一个元素设置属性
- $("#myid").attr("width", "20%")
读取一个属性
- $("#myid").attr("width")
一次指定多个属性
- $("#myid").attr({
- disabled: "disabled",
- width: "20%",
- height: "30″})"
删除属性
- $("#myid").removeAttr("disabled")
应用样式
- $("#myid").addClass("myclass")
删除样式
- $("#myid").removeClass("myclass")
加一个样式
- $("#myid").css("height", "20px")
加一组样式
- $("#myid").css({
- height: "20px",
- width: "100px"
- })
需要注意的是: 如果是加一个样式, 这个样式的名字是 css 中的名字, 比如说 style="background-color:#FF0000″, 对应的 jQuery 写法是
- $("#myid").css("background-color", "#FF0000″)
但是加一组样式的时候, 样式的名字就是 javascript 中的 css 名字了, 比如: myid.style.backgroundColor = "#FF0000″, 对应的 jQuery 写法是
- $("#myid").css({
- backgroundColor: "#FF0000″})"
4. 根据关系查找元素
找和自己同级的下一个元素
- $("#myid").next()
找和自己同级的所有位于自己之下的元素
- $("#myid").nextAll()
找和自己同级的上一个元素
- $("#myid").prev()
找和自己同级的所有位于自己之上的所有元素
- $("#myid").prevAll()
找自己的第一代子元素
- $("#myid").children()
找自己的第一个父元素
- $("#myid").parent()
找自己的所有父元素
- $("#myid").parents()
例子:
- $("div.l4″).parents().each(
- function() {
- alert($(this).html());
- });
会把 class=l4 的 div 的所有父元素都得到, 并且 alert 出他们的 html
例子:
- $("div.l4″).parents("div.l2″).each(function() {
- alert($(this).html());
- });
会得到 class=l4 的父元素, 该父元素必须是 div, 而且其 class=l2
这里说的所有方法, 都可以带表达式, 表达式的写法参考第一部分
5. 维护元素
在 body 中增加一个元素
- $("body").append("<input type='text' value='asd' />")
该语句会把这段 html 插入到 body 结束标签之前, 结果是
- $("body").prepend("<input type='text' value='asd' />")
该语句会把这段 html 插入到 body 开始标签之后, 结果是
6.AJAX
用 get 方法请求一个页面
- $.get("http://www.google.com", "q=jquery",
- function(data, status) {
- alert(data)
- })
表示请求 http://www.google.com, 参数是 q, 参数的值是 jquery, 请求结束后 (不管成功还是失败) 执行后面的 function, 该 function 有两个固定参数, data 和 status, data 是返回的数据, status 是本次请求的状态
用 post 方法请求一个页面
$.post(……..) 参数同 get 方法
7. 其他方法
$.trim(str) 将 str 前后空格去掉
$.browser 返回当前用户浏览器的类型
$.browser.version 返回当前浏览器的版本
8. 插件
jQuery 支持插件, http://jquery.com/plugins / 上面有很多现成的插件, 也可以自己写
自己写插件, 请参考 http://docs.jquery.com/Core/jQ.....end#object 和 http://docs.jquery.com/Core/jQuery.extend#object
1. 下拉框:
- var cc1 = $(".formc select[@name='country'] option[@selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)
- var cc2 = $('.formc select[@name="country"]').val(); //得到下拉菜单的选中项的值
- var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜单的选中项的ID属性值
- $("#select").empty();//清空下拉框//$("#select").html('');
- $("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option
稍微解释一下:
select[@name='country'] option[@selected] 表示具有 name 属性,
并且该属性值为'country' 的 select 元素 里面的具有 selected 属性的 option 元素;
可以看出有 @开头的就表示后面跟的是属性。
2. 单选框:
- $("input[@type=radio][@checked]").val(); //得到单选框的选中项的值(注意中间没有空格)
- $("input[@type=radio][@value=2]").attr("checked",'checked'); //设置单选框value=2的为选中状态.(注意中间没有空格)
3. 复选框:
- $("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值
- $("input[@type=checkbox][@checked]").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出
- alert($(this).val());
- });
- $("#chk1").attr("checked",'');//不打勾
- $("#chk2").attr("checked",true);//打勾
- if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾
希望本文所述对大家 jQuery 程序设计有所帮助。
来源: