_.contains is not a function

在使用lodash的时候报_.contains is not a function,这是因为从lodash V3.10.1开始,将去掉contains函数,改用includes。

可以换为:_.contains()->_.includes()

这个错误信息“Uncaught TypeError: element.contains is not a function”通常出现在JavaScript代码中,表示你试图在一个不是DOM元素的对象上调用`contains`方法。`contains`方法是DOM元素对象的方法,用于判断一个节点是否是另一个节点的后代节点。 以下是一些可能的原因和解决方法: 1. **元素未正确获取**: 确保你获取的元素是一个DOM元素对象,而不是其他类型的数据(如字符串、数组等)。 ```javascript // 错误的例子 var element = "div"; // 这是一个字符串,不是DOM元素 console.log(element.contains(document.body)); // 报错 // 正确的例子 var element = document.getElementById("myDiv"); // 获取DOM元素 console.log(element.contains(document.body)); // 正常执行 ``` 2. **元素不存在**: 确保元素在DOM中存在。如果元素不存在,`document.getElementById`等方法会返回`null`,而`null`对象没有`contains`方法。 ```javascript // 错误的例子 var element = document.getElementById("nonExistentId"); // 返回null console.log(element.contains(document.body)); // 报错 // 正确的例子 var element = document.getElementById("myDiv"); // 确保元素存在 if (element) { console.log(element.contains(document.body)); } else { console.log("Element does not exist"); } ``` 3. **使用兼容的方法**: 如果你需要兼容较老的浏览器,可以自己实现一个`contains`方法,或者使用其他方法来判断节点关系。 ```javascript // 自定义contains方法 function contains(a, b) { return a.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a.contains(b); } var element = document.getElementById("myDiv"); console.log(contains(element, document.body)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值