首页
学习
活动
专区
圈层
工具
发布

js判断是否是子元素

文本俺将跟大家介绍,如何判断一个当前点击的元素,是否是指定元素的子元素。 解决思路: 俺给父元素指定了一个id,并使用这个循环检查当前元素是否属于它的子元素。...if (obj == parentObj){ return true; } obj = obj.parentNode; } return false; } 方法二:jquery代码 //判断:当前元素是否是被筛选元素的子元素...jQuery.fn.isChildOf = function(b){ return (this.parents(b).length > 0); }; //判断:当前元素是否是被筛选元素的子元素或者本身...event => { const parentId = 'mycontainer' if (isDescendant(event.target, parentId)) { //处理是子元素的情况...} else { //处理不是子元素的情况 } }) 在while循环中,俺使用赋值运算符=进行迭代,直到不再有父节点,在本例中为el.parentNode返回null时, while

14.8K00

Js如何删除所有子元素以及当前元素

示例展示 deleteallelem 具体描述 在原生js当中,html的内容元素总是以嵌套的关系存在于网页中,因此,可以通过遍历树的方法访问网页里的每一个元素,当然也是可以删除指定的子元素的 原生js...// 判断是否包含子元素 if(ul.hasChildNodes()) { var len = ul.childNodes.length; // 子元素的个数 for...2的现在为1的节点,这样程序运行的结果就是只删除了一半的子节点 在遍历时因为删除了子节点,ul.childNodes.length值已经减小,影响了遍历结果 我们应该从后面往前删除 function deleteChilds...,直接操作数组为空,就删除所有子元素了的 // 这里用原生js实现,主要是演示操作子节点的方式,在vue项目里,操作DOM的话,那使用vue就没有任何意义价值了的...,或全部删除清空,是一个比较常见的操作,使用原生Js全部删除操作是,通过循环遍历,一个一个的删除,而在框架里,是操作数组,想要删除全部,清空数组数据就可以了的

11.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DOM 元素的循环遍历

    :ele 的下一个同辈节点 previousSibling:ele 的上一个同辈节点 因为 childNodes 包含看不见的空格文本,还有注释等内容,所以使用起来不是太方便 因此,js 又重新引入了元素树的概念...这个在我们实际应用中,用的比较普遍 元素树:仅仅包含元素节点的树结构,不是一颗新树,尽是节点数的子集 为元素新增了下面几个属性: parentElement:节点的父元素 children:返回节点的所有子元素...firstElementChild:第一个直接子元素 lastElementChild:最后一个直接子元素 previousElementSibling:ele 的前一个兄弟元素 nextElementSibling...遍历直接子级元素 假设 html 如下,要遍历出 div 中的所有直接子级的元素节点: hello world 遍历所有节点 深度优先遍历:当同时有兄弟节点和子节点的时候,总是优先遍历子节点 function getChildren(parent) { // 如果当前节点是元素节点,输出当前元素 parent.nodeType

    8.4K60

    递归的妙用—遍历子控件

    我们在ASP.NET编程中, 经常需要遍历一个Web控件的子控件 ,找到所需的控件并获取控件中相应的值。...以前我都是采用循环的方式遍历子控件,但当子控件是复杂的树形结构,比如:子控件也有子控件,子控件的子控件也有子控件。...这时如果用循环的方式,就要用嵌套循环,而有时我们很难确定我们所要找的控件在子控件树的哪一层,昨天我就为些付出了代价,因为一个控件在内部增加了Panel控件,并将它的子控件移到了Panel控件上,我通过循环怎么也找不到所需的控件...既然子控件表现为一个树形结构,为什么我不用递归去遍历子控件?当我看着不太优雅的嵌套循环代码时,我突然这样想到。使用递归,根本不用关心所需的控件在哪一层,而且代码简洁。     ...下面就是两种遍历方式: 1、循环方式: for (int i =0; i<GlobalCategoryPanel.Controls.Count;i++)//GlobalCategoryPanel是个Panel

    1.1K20

    遍历删除List中的元素

    遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。...下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合条件的一个元素 3.通过普通的for删除删除符合条件的多个元素 4.通过...Iterator进行遍历删除符合条件的多个元素 Java代码 /** * 使用增强的for循环 * 在循环过程中从List中删除元素以后,继续循环List时会报ConcurrentModificationException...== 2) { students.remove(stu); break; } } } Java代码 /** * 这种遍历有可能会遗漏某个元素...当访问的元素 * 索引超过了当前的List的size后还会出现数组越界的异常,当然这里不会出现这种异常, * 因为这里每遍历一次都重新拿了一次当前List的size。

    6.5K60

    HashMap、LinkedHashMap元素遍历机制探讨

    1.HashMap的遍历机制 HashMap 提供了两个遍历访问其内部元素Entry的接口:               1.      ...实际上,第二个借口表示的Key的顺序,和第一个接口返回的Entry顺序是对应的,也就是说:这两种接口对HashMap的元素遍历的顺序相相同的。 ...但是,我们有时候想要遍历HashMap的元素Entry的顺序和其存储的顺序一致,HashMap显然不能满足条件了。而LinkedHashMap则可以满足这个需要。 2....由此,就可以保证遍历LinkedHashMap内元素的顺序,就是Entry插入到LinkedHashMap中的顺序。...总结 1.HashMap对元素的遍历顺序跟Entry插入的顺序无关,而LinkedHashMap对元素的遍历顺序可以跟Entry插入的顺序保持一致。

    1.6K20

    JQuery 遍历:发现元素的魔法之旅

    遍历方法JQuery 提供了多种遍历方法,让你能够轻松地在文档中移动和操作元素。下面我们来介绍几个常用的遍历方法。...通过 find() 方法,查找了这些元素的子元素,具有 child 类的子元素,然后给这些子元素添加了一个文字内容。...复杂的遍历有时候,我们需要进行更复杂的遍历,涉及到父元素、兄弟元素等。下面,我们将介绍一些涉及到多层级遍历的方法。...通过简单而强大的选择器和遍历方法,你可以轻松地定位、修改和操作页面上的任何元素。3. children() 方法children() 方法用于获取匹配元素集合中每个元素的子元素,返回一个新的集合。元素的子元素,并给子元素添加了一个类名和文字内容。

    2.1K11
    领券