jQuery 取值、賦值的基本方法整理

NO IMAGE

/*獲得TEXT.AREATEXT的值*/
var textval = $(“#text_id”).attr(“value”);
//或者
var textval = $(“#text_id”).val();
/*獲取單選按鈕的值*/
var valradio = $(“input[@type=radio][@checked]”).val();
/*獲取一組名為(items)的radio被選中項的值*/
var item = $(‘input[@name=items][@checked]’).val();
/*獲取核取方塊的值*/
var checkboxval = $(“#checkbox_id”).attr(“value”);
/*獲取下拉選單的值*/
var selectval = $(‘#select_id’).val();

//文字框,文字區域:
$(“#text_id”).attr(“value”,”);//清空內容
$(“#text_id”).attr(“value”,’test’);//填充內容
//多選框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();
});

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://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
稍微解釋一下:
1.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操作select詳解(取值,設定選中)淺析jQuery操作select控制元件的取值和設值jquery select(列表)的操作(取值/賦值)jQuery操作Select選擇的Text和Value(獲取/設定/新增/刪除)jquery操作select取值賦值與設定選中例項