$(this).find('.matCode')[i].textContent报错Uncaught TypeError: Cannot read property 'textContent' of undefined,怎么写不会报错正确获取值
时间: 2024-02-03 12:03:45 浏览: 69
mat-code.rar_mat code_matcode是啥意思
在使用`$(this).find('.matCode')[i].textContent`获取内容时,如果没有找到匹配的元素,会返回undefined。因此,你需要确保在访问textContent属性之前检查元素是否存在。
有两种方法可以避免这个错误:
1. 使用jQuery的eq()方法替代数组索引来获取指定位置的元素。这种方法会返回一个jQuery对象,如果没有找到匹配的元素,也不会抛出异常。
例如,可以使用以下代码获取第i个具有".matCode"类的元素的textContent属性:
```
$(this).find('.matCode').eq(i).text()
```
2. 使用JavaScript的条件操作符(ternary operator)来检查元素是否存在。如果元素存在,就返回textContent属性;否则,返回一个默认值。
例如,可以使用以下代码获取第i个具有".matCode"类的元素的textContent属性:
```
$(this).find('.matCode')[i] ? $(this).find('.matCode')[i].textContent : ''
```
无论使用哪种方法,都要确保i的值不超过".matCode"类元素的数量,否则会抛出类似的异常。
阅读全文