鋒利的jQuery 要點歸納(二) jQuery中的DOM操作(下)
2024-05-06 14:10:57
供稿:網友
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)