首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js判断是否是子元素

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

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

    判断元素是否在视窗之内

    本文作者:IMWeb elvin 原文出处:IMWeb社区 未经同意,禁止转载 作为一名前端工程师我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值(例如 100 px),从而实现一些常用的功能...目前流行的方式是通过 Element.getBoundingClientRect() 拿到元素的相关位置信息后进行手动的判断,但是这种方法由于运行在 JavaScript的主进程上,所以当需要监听的元素较多时...下图是使用 Element.getBoundingClientRect() 进行计算实现的效果,可以看到有非常明显的卡顿,主要是因为需要对每一个元素都进行计算,判断它们是否在视窗之内。...如果一个元素在视窗之内的话,那么它一定满足下面四个条件: top 大于等于 0 left 大于登录 0 bottom 小于等于视窗高度 right 小于等于视窗宽度 考虑到不同浏览器的兼容性,可以写出来如下的函数用于判断元素是否在视窗之内...target'))); // true or false Intersection Observer API 注册回调 Intersection Observer 即重叠观察者,从这个命名就可以看出它用于判断两个元素是否重叠

    2.1K20

    js 判断数组是否包含某个元素方法集合的原因_怎么判断数组有几个元素

    JavaScript indexOf() 方法 2、jQuery.inArray()方法 3、JavaScript find() 方法 4、JavaScript findIndex() 方法 5、for 循环和 if 判断...Number类型 指定从数组的指定索引位置开始查找,默认为 0 3、JavaScript find() 方法 定义和用法 find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。...数组每个元素需要执行的函数。 currentValue 必需。当前元素 函数参数 index 可选。当前元素的索引值函数参数 arr 可选。当前元素所属的数组对象函数参数 thisValue 可选。...数组每个元素需要执行的函数。 currentValue 必需。当前元素 函数参数 index 可选。当前元素的索引值函数参数 arr 可选。当前元素所属的数组对象函数参数 thisValue 可选。...5、for 循环和 if 判断 var arr = [1, 5, 10, 15]; /* 传统for */ for(let i=0; i<arr.length; i++) { if(arr[i] =

    6.4K60

    Java 理论概念·BloomFilter 判断元素存在

    BloomFilter 判断元素存在 本文为个人学习摘要笔记。...主要用于判断一个元素是否在一个集合中。...通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景,这个时候往往我们都是采用 Hashmap,Set 或者其他集合将数据保存起来,然后进行对比判断,但是如果元素很多的情况,我们如果采用这种方式就会非常浪费空间...结论 所以通过上面的例子我们就可以明确: 一个元素如果判断结果为存在的时候元素不一定存在,但是判断结果为不存在的时候则一定不存在。 布隆过滤器可以添加元素,但是不能删除元素。...bitmap */ private static BitSet bitset = new BitSet(DEFAULT_SIZE); /** * 设置 hash 函数数量

    49620

    Go 判断元素是否在切片中

    文章目录 1.问题 2.遍历查询 3.map 查询 4.性能对比 5.转换通用化 6.借助开源库 golang-set 7.小结 参考文献 1.问题 如何判断元素是否在切片中,Golang 并没有提供直接的库函数来判断...查询元素是否在 map 中的时间复杂度为 O(1)。 4.性能对比 我们可以看下在元素数量为 26 的情况下,取中位元素,做个基准测试(benchmark),对比下二者的查询性能。...),然后再判断某个 set 中是否存在某个元素。...set are // not thread-safe. func NewThreadUnsafeSetFromSlice(s []interface{}) Set {} 下面借助golang-set来判断切片中是否存在某个元素...mapset.NewSetFromSlice(sl) fmt.Println(s.Contains("m")) // true fmt.Println(s.Contains("mm")) // false } 7.小结 本文从问题“判断元素是否在切片中

    10K20

    js判断元素在不在数组中_js判断数组是否为空

    5) // 验证是否包含:5 console.log(res4) // 结果:-1 // 由此我们发现,indexOf 返回的是数组的下标,当没有包含时返回的是 -1 // 我们就可以通过这样的方式判断是否存在...,判断结果是否大于 -1,大于则包含,不大于则不包含 let has = (arr.indexOf(5) > -1) console.log(has) // 结果:false 2.find函数 let...function(value, index, arr) { return value > 2; }) console.log(find3) // 结果:3 // 我们发现 // 当数组中的元素在测试条件时返回...true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。...// 如果没有符合条件的元素返回 undefined 3.findIndex函数 let arr = [2,3,4]; let findIndex = arr.findIndex(function(value

    15.9K10
    领券