二. JQuery中的DOM操作

1 查找元素节点

    var $x = $("selector").text()


2 查找属性节点

    var $x = $("selector").attr("property")


3 创建节点

    var $x = $("html")

4 插入节点

$("selector").append()
    向每个匹配的元素内部追加内容
$("selector").appendTo()
    等价于.append()操作符左右互换

$("selector").prepend()
    向每个匹配的元素内部前置内容
$("selector").prependTo()
    等价于.prepend()操作符左右互换

$("selector").after()
    在每个匹配的元素之后插入内容
$("selector").insertAfter
    等价于.after()操作符左右互换

$("selector").before()
    在每个匹配的元素之前插入内容
$("selector").insertBefore()
    等价于.before()操作符左右互换

5 移动节点

本书P70例:

<script>var $one_li = $("ul li:eq(1)");  //获取<ul>节点中第2个<li>元素节点var $two_li = $("ul li:eq(2)");  //获取<ul>节点中第3个<li>元素节点$two_li.insertBefore($one_li);   //移动节点</script>
6 删除节点

6.1 remove()方法

$("selector").remove()
    remove()方法将删除selector所有后代节点,元素用remove()方法删除后,仍可以继续使用。另外remove()方法也可以通过传递参数

来选择性地删除元素,如$("ul li").remove("li[title!=xxx]");

6.2 empty()方法

$("selector").empty()
    清空selector的所有后代节点

7 复制节点

$("selector").clone()
    如$(this).clone().appendTo("ul")。若要使复制后的新元素带有原元素所拥有的行为,需要传递参数true。如$("selector").clone(true)

8 替换节点

$("selector").replaceWith()
    将所有匹配的元素都替换成指定的HTML或者DOM元素
$("selector").replaceAll()
    等价于.replaceWith()操作符左右互换

9 包裹节点

$("selector").wrap()
    将所有匹配的元素单独包裹
$("selector").wrapAll()
    将所有匹配的元素用一个元素包裹
$("selector").wrapInner()
    将每一个匹配的元素的子内容(包括文本节点)用其他结构化的标记包裹起来

10 属性操作

$("selector").attr()
    获取(一个property参数)和设置元素属性(两个参数,property和value),如$("p").attr("title","your title")。如果同时设

置多个属性,格式如$("p").attr({"title" : "your title" , "name" : "test"})
$("selector").removeAttr()
    删除元素属性

11 样式操作

$("selector").attr()
    替换样式

$("selector").addClass()
    追加样式

$("selector").removeClass()
    移除样式

$("selector").toggle()
    行为重复切换
例:

<script>$x.toggle(function(){//code1    },function(){//code2})</script>交替执行code1和code2

$("selector").toggleClass()
    控制样式上的重复切换,如$("p").toggleClass("anotherClass")

$("selector").hasClass("anotherClass")
    判断selector中是否含有anotherClass

 

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);

 

 

你可能感兴趣的:(二. JQuery中的DOM操作)