How to check the return value of the first function in jQuery
为什么以下代码返回一个空数组([])?
1
| $('#non-existing-id').first(); |
我认为它应该返回null或undefined。
我怎样才能检查成功呢? 我在文档中没有看到任何相关内容。
-
jQuery Api文档:api.jquery.com/first
-
first()返回jquery对象。 如果它不匹配,它会给你一个空对象,实际上是一个底层属性数组。
-
@Mahedi Sabuj什么? 我没有看到文档中的返回值
-
@DinoMyte但它的名字是first。 为什么它返回一个空数组?
-
".first()方法从该集合的第一个元素构造一个新的jQuery对象。" ..来自文档
-
无论找到多少元素,jQuery总是返回一个对象,一个jQuery集合。 只需检查集合length即可找到匹配的元素数量
-
@FrozenHeart:如果找不到匹配项,它实际上会返回一个空的jquery对象。
Why does the following code return an empty array
它没有。 它返回一个仅包含第一个匹配项的jQuery对象。
如果没有匹配项,则该jQuery对象包含零个元素。
I thought that it should return null or undefined.
不,文档说它返回一个jQuery对象。
How can I check for the success then?
使用length测试匹配数。
1
| if ($('#non-existing-id').length > 0) |
-
在一个真正的应用程序中,我正在使用像这样的find函数 - obj.find('#some-id').first()。 如果我理解正确,如果选择器找到了什么,它将返回此对象,而不是具有此对象的数组。 如果它没有找到任何东西,它将返回一个空数组。 如何在这种情况下检查成功并在此之后使用生成的对象?
-
"如果选择器找到了什么,它将返回此对象,而不是具有此对象的数组。如果它没有找到任何内容,它将返回一个空数组" - 它总是返回一个jQuery对象。
-
"我如何在这种情况下检查成功" - 查看答案最后一行的代码!
-
那怎么丑? 你更愿意看到什么?
$('#non-existing-id')返回一个空数组,因为它找到了零匹配。
.first()返回零结果,因为它在空数组中找不到任何结果。
$('#non-existing-id').eq(423424);还返回一个空数组[]作为示例。