jquery同胞遍历指的是什么

本文小编为大家详细介绍“jquery同胞遍历指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery同胞遍历指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创新互联是专业的郁南网站建设公司,郁南接单;提供成都网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行郁南网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

同胞就是拥有相同的父元素;jquery同胞遍历就是使用jQuery在DOM树中遍历获取到指定元素的同胞元素。同胞遍历方法有7个:1、siblings(),可获得指定元素的同级所有元素;2、next(),可获得元素的下一个同胞元素;3、nextAll();4、nextUntil();5、prev(),可获得元素的上一级同胞元素;6、prevAll();7、prevUntil()。

jquery中的同胞遍历

同胞就是拥有相同的父元素。

通过jQuery能够在DOM树中遍历元素的同胞元素。

同胞遍历方法

在jquery中,查询同胞元素一般有七个方法:siblings()、next()、nextAll()、nextUntil()、prev()、prevAll()、prevUntil()

  • siblings()方法,主要用于获得指定元素的同胞所有元素

  • next()方法,主要用于获得指定元素的下一个同胞元素

  • nextAll()方法,主要用于获得指定元素的下一个同胞的所有元素

  • nextUntil()方法,主要用于获得指定元素的下一个同胞元素,这个同级元素必须为指定元素与nextUntil()方法所设置元素之间的元素

  • prev()方法,主要用于获得指定元素的上一级同胞元素

  • prevAll()方法,主要用于获得指定元素上一级所有的同胞元素

  • prevUntil()方法,主要用于获得指定元素的上一个同胞元素,这个同级元素必须为指定元素与prevUntil()方法所设置元素之间的元素

我们通过下边的代码模拟下这些处理。事实上jQuery也是这样处理的,只是在结构与过滤处理上更加的严谨。




  
  
  
  



jQuery遍历同胞
模拟遍历同胞


  I
  II
    
      A
      B
        
          1
          2
          3
        
      
      C
    
  
  III







  function dir(elem, dir, until) {
    var matched = [],
      truncate = until !== undefined;
    while ((elem = elem[dir]) && elem.nodeType !== 9) {
      if (elem.nodeType === 1) {
        if (truncate) {
          if (elem.nodeName.toLowerCase() == until || elem.className == until ) {//细节:元素的className不止一个;
            // 添加过滤id?
            break;
          }
        }
        matched.push(elem);
      }
    }
    return matched;
  }


  function nextAll(elem) {
    return dir(elem, "nextSibling");
  }

  function prevAll(elem) {
    return dir(elem, "previousSibling");
  }

  function nextUntil(elem, until) {
    return dir(elem, "nextSibling", until);
  }

  function prevUntil(elem, until) {
    return dir(elem, "previousSibling", until);
  }


  $("#test1").click(function(){
    var item = $('li.item-ii');
    alert(item.nextAll()[0].className)
    alert(item.prevAll()[0].className)
    alert(item.nextUntil('.end')[0].className)
    alert(item.prevUntil('.first')[0].className)
  })

  $("#test2").click(function(){
    var item = document.querySelectorAll('li.item-ii')[0]
    alert(nextAll(item)[0].className)
    alert(prevAll(item)[0].className)
    alert(nextUntil(item, '.end')[0].className)//.end表示是同胞的最后一个元素?
    alert(prevUntil(item, '.first')[0].className)
  })






jquery怎么检测是否有同胞元素

检查方法:

1、使用siblings()获取指定元素的所有同胞元素

指定元素.siblings()

会返回一个包含同胞元素的jquery对象。

2、使用length属性获取jquery对象的长度

length属性获取的长度就是同胞元素的个数

jquery对象.length==0

  • 如果同胞元素的个数为0,即没有同胞元素

  • 如果个数不等于0,则有同胞元素

示例:



	
		
		
		
		
			$(document).ready(function() {
				$("button").click(function() {
					var len=$("h3").siblings().length;
					if(len==0){
						console.log("h3没有同胞元素"); 
					}else{
						console.log("h3有同胞元素,其个数为:"+len); 
					}
	
				});
			});
		
	
	
		div (父)
			

p(兄弟元素)

span(兄弟元素)

h3(本元素)

h4(兄弟元素)

p(兄弟元素)

jquery同胞遍历指的是什么

读到这里,这篇“jquery同胞遍历指的是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


当前文章:jquery同胞遍历指的是什么
文章地址:http://azwzsj.com/article/ipccpj.html

其他资讯