《鋒利的jQuery》要點歸納(二) jQuery中的DOM操作(下)

來源:互聯網
上載者:User

《鋒利的jQuery》要點歸納(二) jQuery中的DOM操作(下)

 

12 設定和擷取HTML、文本和值

$("selector").html()
    擷取html代碼
$("selector").html(html)
    設定html代碼(替換標籤中內容),html()方法不可用於XML文檔

$("selector").text()
    擷取純文字內容
$("selector").text(text)
    設定常值內容(替換標籤中內容),text()方法可以用於XML文檔

$("selector").val()
    擷取元素的值
$("selector").val(value)
    設定元素的值,(外:defaultValue屬性可獲得html預設屬性,P80例:if (txt_value==this.defaultValue){...})
$("select").val("option")
    設定select控制項的選中狀態,類似有:$(":checkbox").val("check1","check2"); $(":radio").val("radio1");
    (外:可以使用attr()方法實現同樣功能,如:$("select option:eq(1)").attr("selected",true); $("[value=radio2]:radio").attr("checked",true);)

13 遍曆節點

$("selector").children()
    擷取匹配元素的子項目集合,以數組返回(只考慮子項目,不考慮子項目以下的後代元素)
    引申:迴圈取得每個子項目html內容的方法:

<script>
var $ul = $("ul").children();
for (var i=0 len=$ul.length; i<len; i++){
alert($ul[i].innerHTML);
}
</script>

$("selector").next()
    擷取匹配元素後面緊鄰的同輩元素,以數組返回

 

$("selector").prev()
    擷取匹配元素前面緊鄰的同輩元素,以數組返回

$("selector").siblings()
    擷取匹配元素前後所有的同輩元素,以數組返回
    P88使用此方法的例子:

<script>
$(".has_children").click(function(){
$(this).addClass("highlight")
.children("a").show().end()
.siblings().removeClass("highlight")
.children("a").hide();
})
</script>

$("selector").closest()
    擷取最近的匹配元素,首先檢查當前元素是否匹配,如匹配則返回元素本身,否則逐級向上尋找父元素知道匹配為止,如果找不到則返回空的jQuery對象
    P89例

<script>
$(document).bind("click",function(e){
$(e.target).closest("li").css("color","red");
})
</script>

 

其他遍曆節點的方法(find(), filter(), nextAll(), prevAll(), parent(), parents()等)本書從略

 

14 CSS-DOM操作

$("selector").css("property")
    擷取元素樣式的property屬性的值
$("selector").css("property","value")
    設定元素樣式的property屬性的值
$("selector").css({"property1":"value1","property2":"value2"})
    同時設定元素多個樣式屬性的值。註:例:"font-size" = fontSize (無引號的駝峰寫法)

$("selector").css("opacity","value")
    設定透明度(支援所有瀏覽器),value值(0 ~ 1)

$("selector").css("height")
    擷取元素高度的height值
$("selector").height()
    獲得元素當前計算的實際高度值,肯定不會返回auto之類,還可以用來擷取window和document的高度
$("selector").height(100)
    設定高度,預設單位px,如要使用其他單位需要傳遞字串如.height(10em)

$("selector").width()
    擷取元素當前計算的實際寬度值

$(selector).offset()
    擷取元素在當前視窗的相對位移,返回對象包含兩個屬性,top和left,此方法只對可見元素有效。
    P91擷取<p>元素的位移量的例子

<script>
var offset = $("p").offset();
var left = offset.left();
var top = offset.top();
</script>

$("selector").position()
    擷取元素相對於最近的一個position樣式屬性設定為relative或者absolute的祖父節點的相對位移,返回對象包含兩個屬性,top和left。例:

<script>
var position = $("p").position();
var left = position.left;
var top = position.top;
</script>

$("selector").scrollTop()
    擷取元素的捲軸距頂端的距離,如:var scrollTop = $("selector").scrollTop();
$("selector").scrollLeft()
    擷取元素的捲軸距左側的距離,如:var scrollLeft = $("selector").scrollLeft();

 

控制元素捲軸滾動到的位置,可在上述兩種方法中傳遞參數,如:
$("textarea").scrollTop(300);
$("textarea").scrollLeft(300);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.