jquery寻找节点

  • A+
所属分类:Web前端
摘要

注意的是JavaScript获得的节点并不等于jquery节点。 通过javascript的getElementsByTagName获取到的节点的元素是一个dom合集对象 , 通过jQuery生成的对象是一个做了包装处理的对象 。

$("p")//引号第一个无特殊字符,在页面中选取所有 <p> 元素: $(".test")//在引号中第一个字符为“.”,即选择的是class="xx"的节点 $("#test")//在引号中第一个字符为“#”,即选择的是id="test"的节点 //标签不唯一,如果找到符合标签的有多个,则会返回所有符合条件的节点。 //id是唯一的,如果找到符合id的有多个,则只会返回一个。 //class不唯一,如果找到符合id的有多个,则会返回所有符合条件的节点。  $("#test1").parent(); // 父节点 $("#test1").parents(); // 全部父节点 $("#test1").parents(".mui-content");//返回class为mui-content的父节点 $("#test1").children(); // 全部子节点 $("#test1").children("#test1"); //返回id为test1的子节点 $("#test1").contents(); // 返回id为test1里面的所有内容,包括节点和文本 $("#test1").contents("#test1"); //返回id为test里面的id为#test1的节点和文本 $("#test1").prev();  // 上一个兄弟节点 $("#test1").prevAll(); // 之前所有兄弟节点 $("#test1").next(); // 下一个兄弟节点 $("#test1").nextAll(); // 之后所有兄弟节点 $("#test1").siblings(); // 所有兄弟节点 $("#test1").siblings("#test2"); //返回id为test2的兄弟节点 $("#test").find("#test1"); //选中id为test后代中 id为test1的节点  $("#test").eq(1); // 选取id为test1中匹配的索引顺序为1的元素(也就是第2个li元素) $("#test").first(); // 选取id为test1中匹配的第一个元素 $("#test").last(); // 选取id为test1中匹配的最后一个元素 $("#test").slice(1, 4); // 选取第2 ~ 4个元素 $("#test").filter(":even"); // 选取ul li中所有奇数顺序的元素   $("*")//选取所有元素 $(this)//选取当前 HTML 元素 $("p.intro")//选取 class 为 intro 的 <p> 元素$("p:first")选取第一个 <p> 元素 $("ul li:first")//选取第一个 <ul> 元素的第一个 <li> 元素 $("ul li:first-child")//选取每个 <ul> 元素的第一个 <li> 元素$("[href]")选取带有 href 属性的元素 $("a[target='_blank']")//选取所有 target 属性值等于 "_blank" 的 <a> 元素 $("a[target!='_blank']")//选取所有 target 属性值不等于 "_blank" 的 <a> 元素$(":button")选取所有 type="button" 的 <input> 元素 和 <button> 元素 $("tr:even")//选取偶数位置的 <tr> 元素 $("tr:odd")//选取奇数位置的 <tr> 元素

注意的是JavaScript获得的节点并不等于jquery节点。

通过javascript的getElementsByTagName获取到的节点的元素是一个dom合集对象 , 通过jQuery生成的对象是一个做了包装处理的对象 。

注意上面的方法 返回的是jquery 集合 需要继续用jq的方法操作或取值。

如果想要转为dom 直接操作的只需要 取它的下标即可。

 $("#test1").parent()[0] //返回的就是dom节点

 

参考文章:

https://www.cnblogs.com/millethandsome/p/11887833.html

https://www.runoob.com/jquery/jquery-selectors.html