jQuery对html元素的取值与赋值实例详解

时间:2021-05-26

本文实例讲述了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结束标签之前, 结果是<input type='text' value='asd' /></body>
复制代码 代码如下:$("body").prepend("<input type='text' value='asd' />")
该语句会把这段html插入到body开始标签之后, 结果是<body><input type='text' value='asd' />

6.AJAX

用get方法请求一个页面
复制代码 代码如下:$.get("http:///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程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章