jQuery-DOM操作

jQuery的DOM节点:

1、获取节点的内容 : text()方法

2、查找属性节点,并且的到属性值 attr()

var $para = $("p");

var p_text = $para.attr("title");

alert(p_text);

3、创建元素节点:

var $li_1 = $("<li title='香蕉'>香蕉</li>");

var $li_2 = $("<li title='梨'>梨</li>");

$("ul").append($li_1);

$("ul").append($li_2);

4、插入到HTML中

//插入节点的方法

append() : 向每个匹配的元素内部追加内容

appendTo() :

prepend() : 向每个匹配的元素内部前置内容

prependTo() :

after() : 在每个匹配的元素知乎插入内容

insertAfter() : 将A插入到B后面

before() : 在每个匹配元素之前插入内容

insertBefore() : 将A插入到B的前面

5、remove()方法:使用该方法后,该节点所包含的所有后代节点都会同时被删除,该方法的返回值是一个指向已被删除的节点的引用,因此可以在以后再使用这些元素

var $li = $("ul li:eq(1)").remove();

$li.appendTo("ul");

$("ul li").remove("li[title != 菠萝]");

6、detach()方法与remove()方法一样,都是从DOM中去掉所有匹配的元素,淡水该方法不会把匹配的元素从jQuery对象中删除,因此将来还可以再使用这些匹配的元素,与remove()方法不同的是,所有的绑定事件,附加的数据都会保留下来

7、empty()方法:不是删除节点。而是清空元素中的所有后代节点

8、复制节点:

$("ul li").click(function(){

      $(this).clone.appendTo("ul");

})

$(this).clone(true).appendTo("ul");

//在colne中传递了一个参数,它的含义是复制元素的时候同时复制元素中的绑定事件

9、替换节点:replaceWith()以及replaceAll()

$("p").replaceWith("<strong>你最不喜欢的水果是?</strong>");

$("<strong>你最不喜欢的水果是?</strong>").replaceAll("p");

10、包裹节点:wrap(),wrapAll(),wrapInner()

wrap():

$("strong").wrap("<br></br>");

//将strong标签用br标签包裹起来

wrapAll():

<strong title="你最不喜欢的水果是?">你最不喜欢的水果是?</strong>

<strong title="你最不喜欢的水果是?">你最不喜欢的水果是?</strong>

***************************************

$("strong").wrap("<br></br>");

<br><strong title="你最不喜欢的水果是?">你最不喜欢的水果是?</strong></br>

<br><strong title="你最不喜欢的水果是?">你最不喜欢的水果是?</strong></br>

***************************************

$("strong").wrapAll("<br></br>");

<br>

<strong title="你最不喜欢的水果是?">你最不喜欢的水果是?</strong>

<strong title="你最不喜欢的水果是?">你最不喜欢的水果是?</strong>

</br>

//如果要是被包裹的多个元素间有其他元素,其他元素会被放到包裹元素之后

wrapInner():

//将每一个匹配的元素的子内容(包括文本节点)用其他结构化标记包裹起来

$("strong").wrapInner("<br></br>");

<strong title="你最不喜欢的水果是?"><br>你最不喜欢的水果是?</br></strong>

11、获取属性以及设置属性

//获取<p>元素的属性title,只需要给attr()传递一个参数

//设置title属性的值,需要传递2个参数

var $para = $("p");

var p_text = $para.attr(“title);

//单个属性值

$("p").attr("title" , "you title");

//多个属性值

$("p").attr("title":"you title","name": "name");

12、删除文档中某个元素的特定属性

$("p").removeAttr("title");

13、获取样式:

与获取class属性就可以了(将原来的替换成新的)

追加样式:addClass()

$("p").addClass("another");

14、移除样式:

<p class="high another" title="hao">好</p>

//移除一个

$("p").removeClass("high");

//移除2项

$("p").removeClass("high").removeClass("another");

//一性移除多项

$("p").removeClass("high another");

//移除该元素的所有样式

$("p").removeClass();

15、切换样式:toggleClass()控制样式的重复切换,如果类名存在就删除它,如果不存在就添加它

$("p").toggleClass("another"); ---重复切换another类

16、判断是否含有某个样式:hasClass()

17、获取设置html代码

var p_html = $("p").html();

alert(p_html);

//设置<p>元素的HTML代码

$("p").html("<strong>wwwwwww</strong>");

18、text()获取元素的文本

$(“p“).text(“woshihaioohh”)

19、val()方法:设置和获取元素的value值

this.defaultValue是指当前文本框的默认值

//下拉列表的第二项以及第一项被选中

$("#multiple").val(["选择2号","选择3号"]);

//多选框被选中

$(":checkbox").val(["check2","check3"]);

//单选框被选中

$(":radio").val(["radio2"]);

还可以使用attr方法

$("[value=radio2]:radio").attr("checked",true);

$("#single option:eq(1)").attr("selected",true);

20、children()方法获取匹配元素的所有子元素的个数,只考虑子元素,不考虑其他后代子元素

21、next()方法:取得匹配元素后面紧邻的同辈元素

22、prev()方法:取得匹配元素前面紧邻的同辈元素

23、siblings()方法:取得匹配元素前后的所有同辈元素

24、closest()方法:取得最近的匹配元素,首先检查当前元素是否匹配,如果匹配则直接返回元素本身,如果不匹配则向上查找父元素,逐级向上查找,如果什么都没找到,则返回一个空的jQuery对象

$(document).bind("click",function(e){

      $(e.target).closest("li").css("color","red");

})

25、parent()获得集合中每个匹配元素的父级元素

Parents()每个匹配元素的祖先元素,找到父级之后还会继续向上查找

26、$("p").css("color");//获取<p>元素的样式颜色

$("p").css("color","red");

$("p").css({"color":"red","fontSize":"30px"});

$(element).css(height);

$("p").height();

$("p").height(100);---默认是px

$("p").height("100em");

27、元素定位:

Offset():获取元素在当前视窗的相对偏移

var offset = $("p").offset();

var left = offset.left;

var top = offset.top;

position():获取元素相对于最近的一个position样式属性的祖先父节点的相对偏移

var position = $("p").position();

var left = position.left;

var top = position.top;

scrollTop()以及scrollLeft()方法:分别获取元素的滚动条距顶端的距离以及距左侧的距离

var scrollTop = $("p").scrollTop();

var scrollLeft = $("p").scrollLeft();

*******************

$("textarea").scrollTop(300);

$("textarea").scrollLeft(300);

28、show()

$(selector).show(speed,callback)

可选。规定元素从隐藏到完全可见的速度。默认为 "0"。

可能的值:

毫秒 (比如 1500)

"slow"

"normal"

"fast"

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jquery练习</title>
    <link rel="stylesheet" type="text/css" href="css/DOM.css">
    <script type="text/javascript" src="scripts/jquery-1.12.0.js"></script>
</head>
<body>
    <!-- 链接提示 -->
    <p><a href="#" class="tooltip" title="这是我的超链接提示1">提示1:</a></p>
    <p><a href="#" class="tooltip" title="这是我的超链接提示2">提示2:</a></p>
    <p><a href="#" title="这是自带的提示1">自带提示1</a></p>
    <p><a href="#" title="这是自带的提示2">自带提示2</a></p>
    <!-- 图片链接提示 -->
    <ul>
        <li><a href="images/pic1.jpg" class="tooltip" title="111"><img src="images/pic2.jpg"></a></li>
        <li><a href="images/pic3.jpg" class="tooltip" title="222"><img src="images/pic4.jpg"></a></li>
        <li><a href="images/pic5.jpg" class="tooltip" title="333"><img src="images/pic6.jpg"></a></li>
    </ul>
    <script type="text/javascript" src="js/DOM.js"></script>
</body>
</html>
//title属性
$(function(){
    var x=10;
    var y=10;
    $("a .tooltip").mouseover(function(e){
        this.myTitle = this.title;
        this.title = "";
        var tooltip = "<div id='tooltip'>"+this.myTitle+"</div>";
        $("body").append(tooltip);
        $("#tooltip").css({
            "top" : (e.pageY + y) + "px" , 
            "left" : (e.pageX + x) + "px"
        }).show("fast");
    }).mouseout(function(){
        this.title = this.myTitle;
        $("#tooltip").remove();
    }).mousemove(function(e){
        $("#tooltip").css({
            "top" : (e.pageY + y) + "px" , 
            "left" : (e.pageX + x) + "px"
        });
    });
})


//图片链接
    $(function(){ 
    var x = 10; 
    var y = 20; 
    $("a.tooltip").mouseover(function(e){ 
    this.myTitle = this.title; 
    this.title = ""; 
    var imgTitle = this.myTitle? "<br/>" + this.myTitle : ""; 
    var tooltip = "<div id='tooltip'><img src='"+ this.href +"' alt='产品预览图'/>"+imgTitle+"</div>"; //创建 div 元素 
    $("body").append(tooltip); //把它追加到文档中 
    $("#tooltip") 
    .css({ 
    "top": (e.pageY+y) + "px", 
    "left": (e.pageX+x) + "px" 
    }).show("fast"); //设置x坐标和y坐标,并且显示 
    }).mouseout(function(){ 
    this.title = this.myTitle; 
    $("#tooltip").remove(); //移除 
    }).mousemove(function(e){ 
    $("#tooltip") 
    .css({ 
    "top": (e.pageY+y) + "px", 
    "left": (e.pageX+x) + "px" 
    }); 
    }); 
    }) 
原文地址:https://www.cnblogs.com/zhanghuiyun/p/5184663.html