javascript之jquery DOM操作

来源:互联网 发布:数据库如何使用boolean 编辑:程序博客网 时间:2024/05/17 04:10


查找节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. var $para = $("p");         // 获取<p>节点  
  2. var $li = $("ul li:eq(1)");   // 获取第二个<li>元素节点  
  3.   
  4. var p_txt = $para.attr("title"); // 输出<p>元素节点属性title  
  5. var ul_txt =  $li.attr("title");    // 获取<ul>里的第二个<li>元素节点的属性title  
  6. var li_txt =  $li.text();      // 输出第二个<li>元素节点的text  
  7.   
  8. alert(ul_txt);  
  9. alert(li_txt);  
  10. alert(p_txt);  


创建节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. var $li_1 = $("<li></li>");    //  创建第一个<li>元素  
  2. var $li_2 = $("<li></li>");    //  创建第二个<li>元素  
  3.   
  4. var $parent = $("ul");        // 获取<ul>节点。<li>的父节点  
  5.   
  6. $parent.append($li_1);        // 添加到<ul>节点中,使之能在网页中显示  
  7. $parent.append($li_2);        // 可以采取链式写法:$parent.append($li_1).append($li_2);  
  8. var $li_1 = $("<li>香蕉</li>");    //  创建一个<li>元素,包括元素节点和文本节点  
  9. //“香蕉”就是创建的文本节点。  
  10. var $li_2 = $("<li>雪梨</li>");    //  创建一个<li>元素,包括元素节点和文本节点  
  11. //“雪梨”就是创建的文本节点。  
  12.   
  13. var $parent = $("ul");        // 获取<ul>节点。<li>的父节点  
  14.   
  15. $("ul").append($li_1);        // 添加到<ul>节点中,使之能在网页中显示  
  16. $("ul").append($li_2);        // 添加到<ul>节点中,使之能在网页中显示  
  17. var $li_1 = $("<li title='香蕉'>香蕉</li>");    //创建一个<li>元素  
  18. //包括元素节点,文本节点和属性节点  
  19. //其中title='香蕉' 就是创建的属性节点  
  20. var $li_2 = $("<li title='雪梨'>雪梨</li>");     //创建一个<li>元素  
  21. //包括元素节点,文本节点和属性节点  
  22. //其中title='雪梨' 就是创建的属性节点    
  23.   
  24.   
  25. var $parent = $("ul");        // 获取<ul>节点。<li>的父节点  
  26.   
  27. $parent.append($li_1);        // 添加到<ul>节点中,使之能在网页中显示  
  28. $parent.append($li_2);        // 等价于:$parent.append($li_1).append($li_2);   

插入节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. var $li_1 = $("<li title='香蕉'>香蕉</li>");    //  创建第一个<li>元素  
  2. var $li_2 = $("<li title='雪梨'>雪梨</li>");    //  创建第二个<li>元素  
  3. var $li_3 = $("<li title='其它'>其它</li>");    //  创建第三个<li>元素  
  4.   
  5.   
  6. var $parent = $("ul");                           // 获取<ul>节点,即<li>的父节点  
  7. var $two_li = $("ul li:eq(1)");             //  获取<ul>节点中第二个<li>元素节点  
  8.   
  9. $parent.append($li_1);              //  append方法将创建的第一个<li>元素添加到父元素的最后面  
  10. $parent.prepend($li_2);             //  prepend方法将创建的第二个<li>元素添加到父元素里的最前面  
  11. $li_3.insertAfter($two_li);             //  insertAfter方法将创建的第三个<li>元素元素插入到获取的<li>之后  

移动节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. var $one_li = $("ul li:eq(1)");             //  获取<ul>节点中第二个<li>元素节点  
  2. var $two_li = $("ul li:eq(2)");             //  获取<ul>节点中第三个<li>元素节点  
  3. $two_li.insertBefore($one_li);    //移动节点  

删除节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $("ul li:eq(1)").remove(); // 获取第二个<li>元素节点后,将它从网页中删除。  
  2.   
  3. var $li = $("ul li:eq(1)").remove(); // 获取第二个<li>元素节点后,将它从网页中删除。  
  4. $li.appendTo("ul");                     // 把刚才删除的又重新添加到<ul>元素里  
  5. //所以,删除只是从网页中删除,在jQuery对象中,这个元素还是存在的,我们可以重新获取它  
  6.   
  7. $("ul li").remove("li[title!=菠萝]");  //把<li>元素中属性title不等于"菠萝"的<li>元素删除   
  8.   
  9. $("ul li").click(function(){  
  10.         alert( $(this).html() );  
  11.         })  
  12. var $li = $("ul li:eq(1)").remove(); // 获取第二个<li>元素节点后,将它从网页中删除。  
  13. $li.appendTo("ul");   
  14.   
  15. $("ul li").click(function(){  
  16.         alert( $(this).html() );  
  17.         })  
  18. var $li = $("ul li:eq(1)").detach(); // 获取第二个<li>元素节点后,将它从网页中删除。  
  19. $li.appendTo("ul");   
  20.   
  21.   
  22. $("ul li:eq(1)").empty(); // 找到第二个<li>元素节点后,清空此元素里的内容  

复制节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $("ul li").click(function(){  
  2.         $(this).clone().appendTo("ul"); // 复制当前点击的节点,并将它追加到<ul>元素  
  3.         })     
  4.   
  5. $("ul li").click(function(){  
  6.         $(this).clone(true).appendTo("ul"); // 注意参数true  
  7.         //可以复制自己,并且他的副本也有同样功能。   
  8.         })     

替换节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $("p").replaceWith("<strong>你最不喜欢的水果是?</strong>");   
  2. // 同样的实现: $("<strong>你最不喜欢的水果是?</strong>").replaceAll("p");   

包裹节点

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $("strong").wrap("<b></b>");//用<b>元素把<strong>元素包裹起来  
  2. $("strong").wrap("<b></b>");  
  3. $("strong").wrapAll("<b></b>");  
  4. $("strong").wrapAll("<b></b>");  
  5. $("strong").wrapInner("<b></b>");  

属性操作

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //设置<p>元素的属性'title'  
  2. $("input:eq(0)").click(function(){  
  3.         $("p").attr("title","选择你最喜欢的水果.");  
  4.         });  
  5. //获取<p>元素的属性'title'  
  6. $("input:eq(1)").click(function(){  
  7.         alert( $("p").attr("title") );  
  8.         });  
  9. //删除<p>元素的属性'title'  
  10. $("input:eq(2)").click(function(){  
  11.         $("p").removeAttr("title");  
  12.         });     

样式操作

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //获取样式  
  2. $("input:eq(0)").click(function(){  
  3.         alert( $("p").attr("class") );  
  4.         });  
  5. //设置样式  
  6. $("input:eq(1)").click(function(){  
  7.         $("p").attr("class","high");  
  8.         });  
  9. //追加样式  
  10. $("input:eq(2)").click(function(){  
  11.         $("p").addClass("another");  
  12.         });      
  13. //删除全部样式  
  14. $("input:eq(3)").click(function(){  
  15.         $("p").removeClass();  
  16.         });    
  17. //删除指定样式  
  18. $("input:eq(4)").click(function(){  
  19.         $("p").removeClass("high");  
  20.         });     
  21. //重复切换样式  
  22. $("input:eq(5)").click(function(){  
  23.         $("p").toggleClass("another");  
  24.         });    
  25. //判断元素是否含有某样式  
  26. $("input:eq(6)").click(function(){  
  27.         alert( $("p").hasClass("another") )  
  28.         alert( $("p").is(".another") )  
  29.         });    

设置和获取HTML,文本和值

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //获取<p>元素的HTML代码  
  2. $("input:eq(0)").click(function(){  
  3.         alert(  $("p").html() );  
  4.         });  
  5. //获取<p>元素的文本  
  6. $("input:eq(1)").click(function(){  
  7.         alert(  $("p").text() );  
  8.         });  
  9. //设置<p>元素的HTML代码  
  10. $("input:eq(2)").click(function(){  
  11.         $("p").html("<strong>你最喜欢的水果是?</strong>");  
  12.         });      
  13. //设置<p>元素的文本  
  14. $("input:eq(3)").click(function(){  
  15.         $("p").text("你最喜欢的水果是?");  
  16.         });    
  17. //设置<p>元素的文本  
  18. $("input:eq(4)").click(function(){  
  19.         $("p").text("<strong>你最喜欢的水果是?</strong>");  
  20.         });    
  21. //获取按钮的value值  
  22. $("input:eq(5)").click(function(){  
  23.         alert( $(this).val() );  
  24.         });     
  25. //设置按钮的value值  
  26. $("input:eq(6)").click(function(){  
  27.         $(this).val("我被点击了!");  
  28.         });    
  29. $("#address").focus(function(){         // 地址框获得鼠标焦点  
  30.         var txt_value =  $(this).val();   // 得到当前文本框的值  
  31.         if(txt_value=="请输入邮箱地址"){    
  32.         $(this).val("");              // 如果符合条件,则清空文本框内容  
  33.         }   
  34.         });  
  35. $("#address").blur(function(){        // 地址框失去鼠标焦点  
  36.         var txt_value =  $(this).val();   // 得到当前文本框的值  
  37.         if(txt_value==""){  
  38.         $(this).val("请输入邮箱地址");// 如果符合条件,则设置内容  
  39.         }   
  40.         })  
  41.   
  42. $("#password").focus(function(){  
  43.         var txt_value =  $(this).val();  
  44.         if(txt_value=="请输入邮箱密码"){  
  45.         $(this).val("");  
  46.         }   
  47.         });  
  48. $("#password").blur(function(){  
  49.         var txt_value =  $(this).val();  
  50.         if(txt_value==""){  
  51.         $(this).val("请输入邮箱密码");  
  52.         }   
  53.         })  
  54. $("#address").focus(function(){         // 地址框获得鼠标焦点  
  55.         var txt_value =  $(this).val();   // 得到当前文本框的值  
  56.         if(txt_value==this.defaultValue){    
  57.         $(this).val("");              // 如果符合条件,则清空文本框内容  
  58.         }   
  59.         });  
  60. $("#address").blur(function(){        // 地址框失去鼠标焦点  
  61.         var txt_value =  $(this).val();   // 得到当前文本框的值  
  62.         if(txt_value==""){  
  63.         $(this).val(this.defaultValue);// 如果符合条件,则设置内容  
  64.         }   
  65.         })  
  66.   
  67. $("#password").focus(function(){  
  68.         var txt_value =  $(this).val();  
  69.         if(txt_value==this.defaultValue){  
  70.         $(this).val("");  
  71.         }   
  72.         });  
  73. $("#password").blur(function(){  
  74.         var txt_value =  $(this).val();  
  75.         if(txt_value==""){  
  76.         $(this).val(this.defaultValue);  
  77.         }   
  78.         })  
  79. //设置单选下拉框选中  
  80. $("input:eq(0)").click(function(){  
  81.         $("#single").val("选择2号");  
  82.         });  
  83. //设置多选下拉框选中  
  84. $("input:eq(1)").click(function(){  
  85.         $("#multiple").val(["选择2号""选择3号"]);  
  86.         });  
  87. //设置单选框和多选框选中  
  88. $("input:eq(2)").click(function(){  
  89.         $(":checkbox").val(["check2","check3"]);  
  90.         $(":radio").val(["radio2"]);  
  91.         });   
  92. //设置单选下拉框选中  
  93. $("input:eq(0)").click(function(){  
  94.         $("#single option").removeAttr("selected");  //移除属性selected  
  95.         $("#single option:eq(1)").attr("selected",true); //设置属性selected  
  96.         });  
  97. //设置多选下拉框选中  
  98. $("input:eq(1)").click(function(){  
  99.         $("#multiple option").removeAttr("selected");  //移除属性selected  
  100.         $("#multiple option:eq(2)").attr("selected",true);//设置属性selected  
  101.         $("#multiple option:eq(3)").attr("selected",true);//设置属性selected  
  102.         });  
  103. //设置单选框和多选框选中  
  104. $("input:eq(2)").click(function(){  
  105.         $(":checkbox").removeAttr("checked"); //移除属性checked  
  106.         $(":radio").removeAttr("checked"); //移除属性checked  
  107.         $("[value=check2]:checkbox").attr("checked",true);//设置属性checked  
  108.         $("[value=check3]:checkbox").attr("checked",true);//设置属性checked  
  109.         $("[value=radio2]:radio").attr("checked",true);//设置属性checked  
  110.         });     

遍历节点树

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. var $body = $("body").children();  
  2. var $p = $("p").children();  
  3. var $ul = $("ul").children();  
  4. alert( $body.length );  // <body>元素下有2个子元素  
  5. alert( $p.length );     // <p>元素下有0个子元素  
  6. alert( $ul.length );    // <p>元素下有3个子元素  
  7. for(var i=0;i< $ul.length;i++){  
  8.     alert( $ul[i].innerHTML );  
  9. }  
  10. var $p1 = $("p").next();  
  11. alert( $p1.html() );  //  紧邻<p>元素后的同辈元素  
  12. var $ul = $("ul").prev();  
  13. alert( $ul.html() );  //  紧邻<ul>元素前的同辈元素  
  14. var $p2 = $("p").siblings();  
  15. alert( $p2.html() );  //  紧邻<p>元素的唯一同辈元素  
  16. $(document).bind("click"function (e) {  
  17.         $(e.target).closest("li").css("color","red");  
  18.         })  
  19. //parent  
  20. $("input:eq(0)").click(function(){  
  21.         resetStyle();  
  22.         $('.item-1').parent().css('background-color''red');  
  23.         });  
  24. //parents  
  25. $("input:eq(1)").click(function(){  
  26.         resetStyle();  
  27.         $('.item-1').parents('ul').css('background-color''red');  
  28.         });  
  29. //closest  
  30. $("input:eq(2)").click(function(){  
  31.         resetStyle();  
  32.         $('.item-1').closest('ul').css('background-color''red');  
  33.         });  
  34.   
  35. function resetStyle(){  
  36.     $("*").removeAttr("style");  
  37. }  

CSS-DOM

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //获取<p>元素的color  
  2. $("input:eq(0)").click(function(){  
  3.         alert(  $("p").css("color") );  
  4.         });  
  5. //设置<p>元素的color  
  6. $("input:eq(1)").click(function(){  
  7.         $("p").css("color","red")  
  8.         });  
  9. //设置<p>元素的fontSize和backgroundColor  
  10. $("input:eq(2)").click(function(){  
  11.         $("p").css({"fontSize":"30px" ,"backgroundColor":"#888888"})  
  12.         });      
  13. //获取<p>元素的高度  
  14. $("input:eq(3)").click(function(){  
  15.         alert( $("p").height() );  
  16.         });    
  17. //获取<p>元素的宽度  
  18. $("input:eq(4)").click(function(){  
  19.         alert( $("p").width() );  
  20.         });     
  21.   
  22. //获取<p>元素的高度  
  23. $("input:eq(5)").click(function(){  
  24.         $("p").height("100px");  
  25.         });    
  26. //获取<p>元素的宽度  
  27. $("input:eq(6)").click(function(){  
  28.         $("p").width("400px");  
  29.         });   
  30. //获取<p>元素的的左边距和上边距  
  31. $("input:eq(7)").click(function(){  
  32.         var offset = $("p").offset();  
  33.         var left = offset.left;  
  34.         var top =  offset.top;  
  35.         alert("left:"+left+";top:"+top);  
  36.         });  
0 0
原创粉丝点击