为什么jQuery empty()函数的返回值的第一个元素是元素本身?

时间:2016-11-29 17:06:44

标签: javascript jquery

我在javascript函数中看到了一个代码:

A.empty()[0].options.add(new Option('', ''));

和A是dom select元素。似乎A.empty()[0]引用了相同的select元素。这意味着empty返回一个数组,其第一个元素是dom对象本身(即A,这里)。

有人可以解释这种行为或将我链接到某个我可以阅读此行为的地方吗? (或者我完全误解了这段代码!?)

更新:查看API文档here确实说返回值是一个jQuery。这是jQuery函数的预期行为,它们的返回值的第一个元素始终是函数被调用的元素(假设返回值是jQuery类型)?

2 个答案:

答案 0 :(得分:0)

empty()只删除所有子节点并返回原始元素。

[0]只返回集合中的第一个DOM元素。 jQuery对象包含"类似数组" HTML元素的集合。

跟进:

jQuery对象始终是0个或更多HTML元素的集合 。这是jQuery的最佳功能之一,允许在没有匹配元素的情况下编写代码(尽管如果在尝试访问属性时访问[0] jQuery对象的长度为0,但[0]是一种非jQuery的处理方式。)

答案 1 :(得分:0)

empty()方法从所选元素中删除所有子节点和内容。

并使用空白'

为该选择元素添加选项。