【JQuery】JQuery动态查找元素

JQuery动态查找元素

一、常见方法介绍

函数 作用
parent() 寻找父节点
parents() 找到所有祖先节点
children() 查找所有子节点
contents() 查找下面的所有内容,包括节点和文本
prev() 查找上一个兄弟节点
prevAll() 查找之前的所有兄弟节点
next() 查找下一个兄弟节点
nextAll() 查找之后的所有兄弟节点
siblings() 查找所有兄弟节点
find(expr) 查找该节点的expr节点
each() 对该节点进行迭代

二、实例:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta charset="UTF-8">
  5 <title>JQ动态查询节点增加节点</title>
  6 </head>
  7 <body>
  8     <div class="container">
  9         <hr>
 10         <div id="wrap">
 11             <hr>
 12             <p class="first">我是第一个子元素</p>
 13             <hr>
 14             <p class="second">我是第二个子元素</p>
 15             <hr>
 16         </div>
 17         <div class="btn-group">
 18             <button class="append">append</button>
 19             <button class="appendTo">appendTo</button>
 20             <button class="prepend">prepend</button>
 21             <button class="prependTo">prependTo</button>
 22             <button class="after">after</button>
 23             <button class="before">before</button>
 24             <button class="appendChild" onclick="appChild()">appendChild</button>
 25             <button class="insertAfter">insertAfter</button>
 26             <button class="insertBefore">insertBefore</button>
 27         </div>
 28 
 29     </div>
 30 
 31 
 32     <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
 33     <script>
 34         $(function() {
 35             $(".first").parent().prepend("<p class='zero'>我是zero元素prepend</p>")
 36             //append(),在父级最后追加一个子元素  
 37             $(".append").hover(function() {
 38                 $(this).css('color', '#999');
 39             }, function() {
 40                 $(this).css('color', '#123456');
 41             });
 42             $(".append").click(function() {
 43                 $(".btn-group").on("click", function() {
 44                     $("button").css("width", "+=1")
 45                 });
 46                 $(".append").css("background", "blue");
 47                 $("#wrap").append("<p class='three'>我是子元素append</p>");
 48                 //$("#wrap").lastChild.setAttribute("backgroundColor","blue"); 
 49 
 50             });
 51 
 52             //appendTo(),将子元素追加到父级的最后  
 53             $(".appendTo").click(function() {
 54                 $("<p class='three'>我是子元素appendTo</p>").appendTo($("#wrap"));
 55             });
 56 
 57             //prepend(),在父级最前面追加一个子元素  
 58             $(".prepend").click(function() {
 59                 $("#wrap").prepend("<p class='three'>我是子元素prepend</p>");
 60             });
 61 
 62             //prependTo(),将子元素追加到父级的最前面  
 63             $(".prependTo").click(function() {
 64                 $("<p class='three'>我是子元素prependTo</p>").prependTo($("#wrap"));
 65             });
 66 
 67             //after(),在当前元素之后追加(是同级关系)  
 68             $(".after").click(function() {
 69                 $("#wrap").after("<p class='siblings'>我是同级元素after</p>");
 70             });
 71 
 72             //before(),在当前元素之前追加(是同级关系)  
 73             $(".before").click(function() {
 74                 $("#wrap").before("<p class='siblings'>我是同级元素before</p>");
 75             });
 76 
 77             //insertAfter(),将元素追加到指定对象的后面(是同级关系)  
 78             $(".insertAfter").click(
 79                     function() {
 80                         $("<p class='three'>我是同级元素insertAfter</p>")
 81                                 .insertAfter($("#wrap"));
 82                     });
 83             //insertBefore(),将元素追加到指定对象的前面(是同级关系)  
 84             $(".insertBefore").click(
 85                     function() {
 86                         $("<p class='three'>我是同级元素insertBefore</p>")
 87                                 .insertBefore($("#wrap"));
 88                     });
 89         });
 90 
 91         //appendChild(),在节点的最后追加子元素  
 92         function appChild() {
 93             // 创建p节点  
 94             var para = document.createElement("p");
 95             // 创建文本节点  
 96             var node = document.createTextNode("我是子集appendChild新段落。");
 97             // 把文本节点添加到p节点里  
 98             para.appendChild(node);
 99 
100             // 查找div1  
101             var element = document.getElementById("wrap");
102             // 把p节点添加到div1里  
103             element.appendChild(para);
104         }
105     </script>
106     <ul id="u1">
107         <li id="a">javascript</li>
108         <li id="b">jquery</li>
109         <li id="c">html</li>
110     </ul>
111     <ul id="u2">
112         <li id="d">css3</li>
113         <li id="e">php</li>
114         <li id="f">java</li>
115     </ul>
116     <script type="text/javascript">
117         $(function() {
118             $("ul").find("li").each(function() {
119                 $("li").css("backgroundColor", function(dap) {
120                     return dap % 2 == 0 ? "red" : "blue";//索引值从0开始(三目运算)
121                 });
122                 $(this).css("color", "white");
123             })
124             $("#wrap").css("background", "blue");
125         })
126     </script>
127 </body>
128 </html>
原文地址:https://www.cnblogs.com/carsonwuu/p/7534520.html