JavaScript-无法读取属性';拆分';未定义的

JavaScript-无法读取属性';拆分';未定义的,javascript,bootstrap-modal,Javascript,Bootstrap Modal,我在JS中有一个错误: Uncaught TypeError: Cannot read property 'split' of undefined 有错误的行是第二行: var link = $('.nav').find('li.active:not(.dropdown)').find('a'); var params = link.attr('href').split('/').filter(Boolean).slice(0, 3); 这意味着a元素没有href属性。因此,您可能正在查

我在JS中有一个错误:

Uncaught TypeError: Cannot read property 'split' of undefined
有错误的行是第二行:

 var link = $('.nav').find('li.active:not(.dropdown)').find('a');
 var params = link.attr('href').split('/').filter(Boolean).slice(0, 3);

这意味着
a
元素没有
href
属性。因此,您可能正在查找错误的
a
元素,或者必须考虑到并非每个
a
元素都有
href
属性。你能详细说明一下你想要实现什么吗?所以
.attr('href')
返回
未定义的
->->“从jQuery 1.6开始,
.attr()
方法返回
未定义的
,用于未设置的属性。”这也可能意味着之前的任何项目都找不到(例如,'.nav',li.active not.dropdown''a')). jQuery在找不到东西时不会抛出错误;它只返回一个包含零个元素的jQuery对象。您可能希望在执行某些操作之前检查link.attr('href')是否不返回false:
if(link.attr('href')){//do something}
@Heretic Monkey如果链接为空,那么在尝试调用链接上的.attr()时不会已经出现错误吗?