本文實例講述了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:
下拉框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被選中項的值
獲取select被選中項的文本
var item = $("select[@name=items] option[@selected]").text();select下拉框的第二個元素為當前選中值$('#select_id')[0].selectedIndex = 1;
radio單選組的第二個元素為當前選中值
重置表單:
$("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是只讀的.
給一個元素設置屬性
讀取一個屬性
一次指定多個屬性
刪除屬性
應用樣式
刪除樣式
加一個樣式
加一組樣式
需要注意的是: 如果是加一個樣式, 這個樣式的名字是css中的名字, 比如說style="background-color:#FF0000″, 對應的jQuery寫法是
但是加一組樣式的時候, 樣式的名字就是javascript中的css名字了, 比如: myid.style.backgroundColor = "#FF0000″, 對應的jQuery寫法是
4. 根據關系查找元素
找和自己同級的下一個元素
找和自己同級的所有位于自己之下的元素
找和自己同級的上一個元素
找和自己同級的所有位于自己之上的所有元素
找自己的第一代子元素
找自己的第一個父元素
找自己的所有父元素
例子:
$("div.l4″).parents().each(function() {alert($(this).html());});
會把class=l4的div的所有父元素都得到, 并且alert出他們的html
例子:
會得到class=l4的父元素, 該父元素必須是div, 而且其class=l2
這里說的所有方法, 都可以帶表達式, 表達式的寫法參考第一部分
5. 維護元素
在body中增加一個元素
該語句會把這段html插入到body結束標簽之前, 結果是<input type='text' value='asd' /></body>
該語句會把這段html插入到body開始標簽之后, 結果是<body><input type='text' value='asd' />
6.AJAX
用get方法請求一個頁面
表示請求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程序設計有所幫助。