Javascript 调用数组后JQUERY代码不起作用

Javascript 调用数组后JQUERY代码不起作用,javascript,jquery,Javascript,Jquery,我创建了一个名为NAME的数组。出于某种原因,该代码适用于警报('test1'),但该代码不再适用于警报('test2') 这里怎么了?多亏了弗雷德里克 if ($(this).attr('name')) { // attribute exists } else { // attribute does not exist } 检查您的错误控制台。可能有一个元素没有name属性,并且split()不能应用于未定义的。谢谢!我现在明白了:)我以为它只会给出一个空数组并通过。谢谢唉,

我创建了一个名为NAME的数组。出于某种原因,该代码适用于警报('test1'),但该代码不再适用于警报('test2')

这里怎么了?

多亏了弗雷德里克

if ($(this).attr('name')) {
    // attribute exists
} else {
    // attribute does not exist
}

检查您的错误控制台。可能有一个
元素没有
name
属性,并且
split()
不能应用于
未定义的
。谢谢!我现在明白了:)我以为它只会给出一个空数组并通过。谢谢唉,你的回答不正确
未定义
0
和空字符串
在布尔上下文中的计算结果均为
false
。存在但没有值的属性将使
attr()
返回空字符串。您的条件应该是
if($(this).attr('name')!=未定义)
或者如果您想更加严格,甚至应该是
if($(this).attr('name')!==未定义)
NAME = $(this).attr('name').split('-');
if ($(this).attr('name')) {
    // attribute exists
} else {
    // attribute does not exist
}