作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
var id = $('.getval_'+product_id+''+index+'').attr("id");
var value = "";
console.log(id);
//data that return by id
6059
s2id_6061
6122
s2id_8410
if (id.indexOf('s2id_') > 0) {
value = $('.getval_'+product_id+''+index+'').select2('val');
}else{
value = $('.getval_'+product_id+''+index+'').val();
}
问题:上面的代码是jquery返回ID时,会显示一个数据列表,所以我要的是ID返回时,如果前面的ID 没有 s2id_ 它将去其他语句。但是代码返回一个错误,即 (Uncaught TypeError: Cannot read property 'indexOf' of undefined)
最佳答案
您需要检查 id
本身是否已设置,有两种方法可以解决此问题。
要么将 if (id.indexOf('s2id_') > 0)
条件链接到检查 id
的外部 if
条件中:
if (id) {
if (id.indexOf('s2id_') > 0) {
value = $('.getval_'+product_id+''+index+'').select2('val');
}else{
value = $('.getval_'+product_id+''+index+'').val();
}
}
或者用and语句检查两个条件:
if (id && id.indexOf('s2id_') > 0) {
value = $('.getval_'+product_id+''+index+'').select2('val');
}else{
value = $('.getval_'+product_id+''+index+'').val();
}
希望对您有所帮助! :)
关于javascript - 未捕获的类型错误 : Cannot read property 'indexOf' of undefined in javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44448610/
我是一名优秀的程序员,十分优秀!