我尝试从jquery api了解此示例 在这个片段
var tags = this.map(function () {
return this.tagName;
})
.get().join(", ");
为什么get()是必要的? 在api中,它表示get()检索jQuery对象匹配的DOM元素。在这种情况下,我看到get()不适用于jq对象,而是应用于字符串。 当我删除get()时,我收到此错误消息:
未捕获的TypeError:对象[object Object]没有方法' join'
为什么加入无法使用地图?
答案 0 :(得分:2)
这里,this
是带有节点列表的jQuery对象。 (jQuery.fn
中的所有函数都将其上下文(即this
)设置为调用函数的jQuery对象。)
对map
的调用返回带有字符串列表的jQuery对象。 (您可能会混淆jQuery的map
函数与ECMAScript 5中引入的map
数组函数,)
对get
的调用返回这些字符串的普通JS数组,join
作用于该数组。
调用get
对于将jQuery对象转换为一个字符串列表(由map
返回)转换为普通的JS数组是必要的,因此它可以与join
粘合在一起。
答案 1 :(得分:0)
join
用于数组(纯js数组)。
你的函数返回需要转换为js plain
的jquery数组 .Get()
- 那样做。
检索与jQuery对象匹配的DOM元素。