jQuery 取值、賦值的基本方法整理
更新時(shí)間:2014年03月31日 15:54:03 作者:
這篇文章主要介紹了jQuery 取值、賦值的基本方法,需要的朋友可以參考下
/*獲得TEXT.AREATEXT的值*/
var textval = $("#text_id").attr("value");
//或者
var textval = $("#text_id").val();
/*獲取單選按鈕的值*/
var valradio = $("input[@type=radio][@checked]").val();
/*獲取一組名為(items)的radio被選中項(xiàng)的值*/
var item = $('input[@name=items][@checked]').val();
/*獲取復(fù)選框的值*/
var checkboxval = $("#checkbox_id").attr("value");
/*獲取下拉列表的值*/
var selectval = $('#select_id').val();
//文本框,文本區(qū)域:
$("#text_id").attr("value",'');//清空內(nèi)容
$("#text_id").attr("value",'test');//填充內(nèi)容
//多選框checkbox:
$("#chk_id").attr("checked",'');//使其未勾選
$("#chk_id").attr("checked",true);//勾選
if($("#chk_id").attr('checked')==true) //判斷是否已經(jīng)選中
//單選組radio:
$("input[@type=radio]").attr("checked",'2');//設(shè)置value=2的項(xiàng)目為當(dāng)前選中項(xiàng)
//下拉框select:
$("#select_id").attr("value",'test');//設(shè)置value=test的項(xiàng)目為當(dāng)前選中項(xiàng)
$("<option value='test'>test</option><option value='test2'>test2</option>").appendTo("#select_id")//添加下拉框的option
$("#select_id").empty();//清空下拉框
獲取一組名為(items)的radio被選中項(xiàng)的值
var item = $('input[@name=items][@checked]').val();//若未被選中 則val() = undefined
獲取select被選中項(xiàng)的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二個(gè)元素為當(dāng)前選中值
$('#select_id')[0].selectedIndex = 1;
radio單選組的第二個(gè)元素為當(dāng)前選中值
$('input[@name=items]').get(1).checked = true;
//重置表單
$("form").each(function(){
.reset();
});
1. 選取元素
$(”#myid”)效果等于document.getElementById(”myid”), 但是寫的字符要少好多啊.
如果需要將jQuery對(duì)象轉(zhuǎn)換成html元素, 則只需要取其第0個(gè)元素即可. 例如$(”#myid”)返回的是jQuery對(duì)象, 而$(”#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結(jié)尾[myattr$='class']
屬性包含cla這三個(gè)字符[myattr*='cla']
如果一個(gè)選擇會(huì)返回多個(gè)元素, 并且希望每返回一個(gè)元素, 就把某些屬性應(yīng)用到該元素上, 可以這么寫
$(”div”).each(function()
{
$(this).css(”background-color”, “#F00″);
alert($(this).html());
$(this).width(”200px”);
});
2.事件
給頁面加onload事件處理方法
$(function()
{
alert(”頁面結(jié)構(gòu)加載完畢, 但是可能某些圖片尚未加載(一般情況下, 此事件就夠用了)”);
});
可以給頁面綁定多個(gè)onload事件處理方法
$(function()
{
alert(”我首先被執(zhí)行”);
});
$(function()
{
alert(”我第二被執(zhí)行”);
});
綁定特殊事件
$(”#myid”).keydown(function()
{
alert(”觸發(fā)了keydown事件”);
});
除了這些常用的, 不常用的事件需要通過bind方法綁定
3. 元素屬性/方法
得到一個(gè)元素的高度, $(”#myid”).height()
得到一個(gè)元素的位置, $(”#myid”).offset() 返回的是一個(gè)offset對(duì)象, 如果取元素位置的top, 則$(”#myid”).offset().top,?取left則$(”#myid”).offset().left
得到一個(gè)元素的innerHTML, $(”#myid”).html()
得到一個(gè)元素的innerText, $(”#myid”).text()
得到一個(gè)文本框的值, $(”#myid”).val()
得到一個(gè)元素的屬性, $(”#myid”).attr(”myattribute”)
以上這些方法有個(gè)基本特征, 就是不帶參數(shù)表示取值, 帶有參數(shù)表示設(shè)定值(除了offset), 例如
$(”#myid”).height(”20″);
$(”#myid”).html(”<a href=”>asdasd</a>”)
$(”#myid”).val(”asdasd”)
需要注意, offset是只讀的.
給一個(gè)元素設(shè)置屬性 $(”#myid”).attr(”width”, “20%”)
讀取一個(gè)屬性 $(”#myid”).attr(”width”)
一次指定多個(gè)屬性 $(”#myid”).attr({disabled: “disabled”, width:”20%”, height: “30″})
刪除屬性$(”#myid”).removeAttr(”disabled”)
應(yīng)用樣式$(”#myid”).addClass(”myclass”)
刪除樣式$(”#myid”).removeClass(”myclass”)
加一個(gè)樣式$(”#myid”).css(”height”, “20px”)
加一組樣式$(”#myid”).css({height:”20px”, width:”100px”})
需要注意的是: 如果是加一個(gè)樣式, 這個(gè)樣式的名字是css中的名字, 比如說style=”background-color:#FF0000″, 對(duì)應(yīng)的jQuery寫法是$(”#myid”).css(”background-color”, “#FF0000″)
但是加一組樣式的時(shí)候, 樣式的名字就是javascript中的css名字了, 比如: myid.style.backgroundColor = “#FF0000″, 對(duì)應(yīng)的jQuery寫法是$(”#myid”).css({backgroundColor:”#FF0000″})
4. 根據(jù)關(guān)系查找元素
找和自己同級(jí)的下一個(gè)元素$(”#myid”).next()
找和自己同級(jí)的所有位于自己之下的元素$(”#myid”).nextAll()
找和自己同級(jí)的上一個(gè)元素$(”#myid”).prev()
找和自己同級(jí)的所有位于自己之上的所有元素$(”#myid”).prevAll()
找自己的第一代子元素$(”#myid”).children()
找自己的第一個(gè)父元素$(”#myid”).parent()
找自己的所有父元素$(”#myid”).parents()
例子:
$(”div.l4″).parents().each(
function() {
alert($(this).html());
});
會(huì)把class=l4的div的所有父元素都得到, 并且alert出他們的html
例子:
$(”div.l4″).parents(”div.l2″).each(function() { alert($(this).html()); });
會(huì)得到class=l4的父元素, 該父元素必須是div, 而且其class=l2
這里說的所有方法, 都可以帶表達(dá)式, 表達(dá)式的寫法參考第一部分
5. 維護(hù)元素
在body中增加一個(gè)元素
$(”body”).append(”<input type='text' value='asd' />”)
該語句會(huì)把這段html插入到body結(jié)束標(biāo)簽之前, 結(jié)果是<input type='text' value='asd' /></body>
$(”body”).prepend(”<input type='text' value='asd' />”)
該語句會(huì)把這段html插入到body開始標(biāo)簽之后, 結(jié)果是<body><input type='text' value='asd' />
6.AJAX
用get方法請(qǐng)求一個(gè)頁面
$.get(”http://www.google.com”, “q=jquery”, function(data, status){alert(data)})
表示請(qǐng)求http://www.google.com, 參數(shù)是q, 參數(shù)的值是jquery, 請(qǐng)求結(jié)束后(不管成功還是失敗)執(zhí)行后面的function, 該function有兩個(gè)固定參數(shù), data和status, data是返回的數(shù)據(jù), status是本次請(qǐng)求的狀態(tài)
用post方法請(qǐng)求一個(gè)頁面
$.post(……..) 參數(shù)同get方法
7.其他方法
$.trim(str) 將str前后空格去掉
$.browser 返回當(dāng)前用戶瀏覽器的類型
$.browser.version返回當(dāng)前瀏覽器的版本
8. 插件
jQuery支持插件, http://jquery.com/plugins/上面有很多現(xiàn)成的插件, 也可以自己寫
自己寫插件, 請(qǐng)參考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(); //得到下拉菜單的選中項(xiàng)的文本(注意中間有空格)
var cc2 = $('.formc select[@name="country"]').val(); //得到下拉菜單的選中項(xiàng)的值
var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜單的選中項(xiàng)的ID屬性值
$("#select").empty();//清空下拉框//$("#select").html('');
$("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option
稍微解釋一下:
1.select[@name='country'] option[@selected] 表示具有name 屬性,
并且該屬性值為'country' 的select元素 里面的具有selected 屬性的option 元素;
可以看出有@開頭的就表示后面跟的是屬性。
2,單選框:
$("input[@type=radio][@checked]").val(); //得到單選框的選中項(xiàng)的值(注意中間沒有空格)
$("input[@type=radio][@value=2]").attr("checked",'checked'); //設(shè)置單選框value=2的為選中狀態(tài).(注意中間沒有空格)
3,復(fù)選框:
$("input[@type=checkbox][@checked]").val(); //得到復(fù)選框的選中的第一項(xiàng)的值
$("input[@type=checkbox][@checked]").each(function(){ //由于復(fù)選框一般選中的是多個(gè),所以可以循環(huán)輸出
alert($(this).val());
});
$("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined){} //判斷是否已經(jīng)打勾
var textval = $("#text_id").attr("value");
//或者
var textval = $("#text_id").val();
/*獲取單選按鈕的值*/
var valradio = $("input[@type=radio][@checked]").val();
/*獲取一組名為(items)的radio被選中項(xiàng)的值*/
var item = $('input[@name=items][@checked]').val();
/*獲取復(fù)選框的值*/
var checkboxval = $("#checkbox_id").attr("value");
/*獲取下拉列表的值*/
var selectval = $('#select_id').val();
//文本框,文本區(qū)域:
$("#text_id").attr("value",'');//清空內(nèi)容
$("#text_id").attr("value",'test');//填充內(nèi)容
//多選框checkbox:
$("#chk_id").attr("checked",'');//使其未勾選
$("#chk_id").attr("checked",true);//勾選
if($("#chk_id").attr('checked')==true) //判斷是否已經(jīng)選中
//單選組radio:
$("input[@type=radio]").attr("checked",'2');//設(shè)置value=2的項(xiàng)目為當(dāng)前選中項(xiàng)
//下拉框select:
$("#select_id").attr("value",'test');//設(shè)置value=test的項(xiàng)目為當(dāng)前選中項(xiàng)
$("<option value='test'>test</option><option value='test2'>test2</option>").appendTo("#select_id")//添加下拉框的option
$("#select_id").empty();//清空下拉框
獲取一組名為(items)的radio被選中項(xiàng)的值
var item = $('input[@name=items][@checked]').val();//若未被選中 則val() = undefined
獲取select被選中項(xiàng)的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二個(gè)元素為當(dāng)前選中值
$('#select_id')[0].selectedIndex = 1;
radio單選組的第二個(gè)元素為當(dāng)前選中值
$('input[@name=items]').get(1).checked = true;
//重置表單
$("form").each(function(){
.reset();
});
1. 選取元素
$(”#myid”)效果等于document.getElementById(”myid”), 但是寫的字符要少好多啊.
如果需要將jQuery對(duì)象轉(zhuǎn)換成html元素, 則只需要取其第0個(gè)元素即可. 例如$(”#myid”)返回的是jQuery對(duì)象, 而$(”#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結(jié)尾[myattr$='class']
屬性包含cla這三個(gè)字符[myattr*='cla']
如果一個(gè)選擇會(huì)返回多個(gè)元素, 并且希望每返回一個(gè)元素, 就把某些屬性應(yīng)用到該元素上, 可以這么寫
$(”div”).each(function()
{
$(this).css(”background-color”, “#F00″);
alert($(this).html());
$(this).width(”200px”);
});
2.事件
給頁面加onload事件處理方法
$(function()
{
alert(”頁面結(jié)構(gòu)加載完畢, 但是可能某些圖片尚未加載(一般情況下, 此事件就夠用了)”);
});
可以給頁面綁定多個(gè)onload事件處理方法
$(function()
{
alert(”我首先被執(zhí)行”);
});
$(function()
{
alert(”我第二被執(zhí)行”);
});
綁定特殊事件
$(”#myid”).keydown(function()
{
alert(”觸發(fā)了keydown事件”);
});
除了這些常用的, 不常用的事件需要通過bind方法綁定
3. 元素屬性/方法
得到一個(gè)元素的高度, $(”#myid”).height()
得到一個(gè)元素的位置, $(”#myid”).offset() 返回的是一個(gè)offset對(duì)象, 如果取元素位置的top, 則$(”#myid”).offset().top,?取left則$(”#myid”).offset().left
得到一個(gè)元素的innerHTML, $(”#myid”).html()
得到一個(gè)元素的innerText, $(”#myid”).text()
得到一個(gè)文本框的值, $(”#myid”).val()
得到一個(gè)元素的屬性, $(”#myid”).attr(”myattribute”)
以上這些方法有個(gè)基本特征, 就是不帶參數(shù)表示取值, 帶有參數(shù)表示設(shè)定值(除了offset), 例如
$(”#myid”).height(”20″);
$(”#myid”).html(”<a href=”>asdasd</a>”)
$(”#myid”).val(”asdasd”)
需要注意, offset是只讀的.
給一個(gè)元素設(shè)置屬性 $(”#myid”).attr(”width”, “20%”)
讀取一個(gè)屬性 $(”#myid”).attr(”width”)
一次指定多個(gè)屬性 $(”#myid”).attr({disabled: “disabled”, width:”20%”, height: “30″})
刪除屬性$(”#myid”).removeAttr(”disabled”)
應(yīng)用樣式$(”#myid”).addClass(”myclass”)
刪除樣式$(”#myid”).removeClass(”myclass”)
加一個(gè)樣式$(”#myid”).css(”height”, “20px”)
加一組樣式$(”#myid”).css({height:”20px”, width:”100px”})
需要注意的是: 如果是加一個(gè)樣式, 這個(gè)樣式的名字是css中的名字, 比如說style=”background-color:#FF0000″, 對(duì)應(yīng)的jQuery寫法是$(”#myid”).css(”background-color”, “#FF0000″)
但是加一組樣式的時(shí)候, 樣式的名字就是javascript中的css名字了, 比如: myid.style.backgroundColor = “#FF0000″, 對(duì)應(yīng)的jQuery寫法是$(”#myid”).css({backgroundColor:”#FF0000″})
4. 根據(jù)關(guān)系查找元素
找和自己同級(jí)的下一個(gè)元素$(”#myid”).next()
找和自己同級(jí)的所有位于自己之下的元素$(”#myid”).nextAll()
找和自己同級(jí)的上一個(gè)元素$(”#myid”).prev()
找和自己同級(jí)的所有位于自己之上的所有元素$(”#myid”).prevAll()
找自己的第一代子元素$(”#myid”).children()
找自己的第一個(gè)父元素$(”#myid”).parent()
找自己的所有父元素$(”#myid”).parents()
例子:
$(”div.l4″).parents().each(
function() {
alert($(this).html());
});
會(huì)把class=l4的div的所有父元素都得到, 并且alert出他們的html
例子:
$(”div.l4″).parents(”div.l2″).each(function() { alert($(this).html()); });
會(huì)得到class=l4的父元素, 該父元素必須是div, 而且其class=l2
這里說的所有方法, 都可以帶表達(dá)式, 表達(dá)式的寫法參考第一部分
5. 維護(hù)元素
在body中增加一個(gè)元素
$(”body”).append(”<input type='text' value='asd' />”)
該語句會(huì)把這段html插入到body結(jié)束標(biāo)簽之前, 結(jié)果是<input type='text' value='asd' /></body>
$(”body”).prepend(”<input type='text' value='asd' />”)
該語句會(huì)把這段html插入到body開始標(biāo)簽之后, 結(jié)果是<body><input type='text' value='asd' />
6.AJAX
用get方法請(qǐng)求一個(gè)頁面
$.get(”http://www.google.com”, “q=jquery”, function(data, status){alert(data)})
表示請(qǐng)求http://www.google.com, 參數(shù)是q, 參數(shù)的值是jquery, 請(qǐng)求結(jié)束后(不管成功還是失敗)執(zhí)行后面的function, 該function有兩個(gè)固定參數(shù), data和status, data是返回的數(shù)據(jù), status是本次請(qǐng)求的狀態(tài)
用post方法請(qǐng)求一個(gè)頁面
$.post(……..) 參數(shù)同get方法
7.其他方法
$.trim(str) 將str前后空格去掉
$.browser 返回當(dāng)前用戶瀏覽器的類型
$.browser.version返回當(dāng)前瀏覽器的版本
8. 插件
jQuery支持插件, http://jquery.com/plugins/上面有很多現(xiàn)成的插件, 也可以自己寫
自己寫插件, 請(qǐng)參考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(); //得到下拉菜單的選中項(xiàng)的文本(注意中間有空格)
var cc2 = $('.formc select[@name="country"]').val(); //得到下拉菜單的選中項(xiàng)的值
var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜單的選中項(xiàng)的ID屬性值
$("#select").empty();//清空下拉框//$("#select").html('');
$("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option
稍微解釋一下:
1.select[@name='country'] option[@selected] 表示具有name 屬性,
并且該屬性值為'country' 的select元素 里面的具有selected 屬性的option 元素;
可以看出有@開頭的就表示后面跟的是屬性。
2,單選框:
$("input[@type=radio][@checked]").val(); //得到單選框的選中項(xiàng)的值(注意中間沒有空格)
$("input[@type=radio][@value=2]").attr("checked",'checked'); //設(shè)置單選框value=2的為選中狀態(tài).(注意中間沒有空格)
3,復(fù)選框:
$("input[@type=checkbox][@checked]").val(); //得到復(fù)選框的選中的第一項(xiàng)的值
$("input[@type=checkbox][@checked]").each(function(){ //由于復(fù)選框一般選中的是多個(gè),所以可以循環(huán)輸出
alert($(this).val());
});
$("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined){} //判斷是否已經(jīng)打勾
相關(guān)文章
web開發(fā)人員學(xué)習(xí)jQuery的6大理由及jQuery的優(yōu)勢(shì)介紹
jQuery是一個(gè)用來簡化HTML客戶端開發(fā)的JS(JavaScrip)庫,它支持HTML DOM處理,同時(shí)還融合了部分HTML和CSS2013-01-01jQuery實(shí)現(xiàn)簡單的滑動(dòng)導(dǎo)航代碼(移動(dòng)端)
這篇文章主要介紹了jQuery實(shí)現(xiàn)簡單的滑動(dòng)導(dǎo)航代碼,適合用于移動(dòng)端。需要的朋友可以參考下2017-05-05jquery插件開發(fā)之實(shí)現(xiàn)google+圈子選擇功能
最近項(xiàng)目中用到的一個(gè)效果,類似于Google+的添加圈子功能。本文插件約8成封裝,好多功能是依據(jù)項(xiàng)目中實(shí)際需求寫的。若要使用,可根據(jù)自身情況擴(kuò)展修改2014-03-03jQuery使用slideUp方法實(shí)現(xiàn)控制元素緩慢收起
這篇文章主要介紹了jQuery使用slideUp方法實(shí)現(xiàn)控制元素緩慢收起的功能,實(shí)例分析了jQuery中slideUp方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03jquery刪除指定的html標(biāo)簽并保留標(biāo)簽內(nèi)文本內(nèi)容的方法
有時(shí)我們希望刪除這段html代碼里面的一對(duì)<p>標(biāo)簽,但是要保持里面的內(nèi)容不被刪除,本文提供的這個(gè)jquery方法就可以簡單實(shí)現(xiàn)。2014-04-04json+jQuery實(shí)現(xiàn)的無限級(jí)樹形菜單效果代碼
這篇文章主要介紹了json+jQuery實(shí)現(xiàn)的無限級(jí)樹形菜單效果代碼,涉及jquery針對(duì)json數(shù)據(jù)的遍歷、讀取及動(dòng)態(tài)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08