jQuery.返回对象属性映射时出现映射错误
jQuery.map errors when returning a map of object properties
示例如下:
HTML:<ul>
<li id="0"></li>
<li id="213"></li>
<li id="324"></li>
<li id="764"></li>
</ul>
JS:
var map = $("ul").children().map(function(i, el) {
return el.id;
});
console.log(Array.prototype.slice.call(map).join(":")); // 0:213:324:764
console.log(map.join(":")); //error: Uncaught TypeError: undefined is not a function
map函数在尝试使用原生数组方法时会出错,
如果您将返回的jq '数组'解析为普通数组-一切正常。
原因是什么呢?
小提琴:http://jsfiddle.net/hQZqU/1/
你的选择器是一个jQuery对象($("ul").children()
),所以map
返回这个jQuery对象列表:
jQuery("0", "213", "324", "764")
为了有一个数组,你必须使用toArray
:
console.log(map.toArray().join(":"));
你可以看看这个提琴:http://jsfiddle.net/hQZqU/2/
.map()
将返回jquery对象,但.get()
对结果使用基本数组。
var map = $("ul").children().map(function(i, el) {
return el.id;
}).get();
<<p> jsfiddle演示/strong> 相关文章:
- 未捕获的引用错误:未定义<映射键>
- HERE 映射 javascript API - 抛出“指针必须有 ID”错误
- 谷歌未定义(api 映射错误)
- 函数给出错误转换未定义映射
- 在Struts2中从jsp中的表映射错误的行数
- 操作映射触发控制器中的错误方法
- 树映射导致未捕获类型错误:未定义不是函数
- Lodash partialRight padStart映射产生错误结果
- 创建映射时出现同源策略错误
- 将 JS 错误行号映射到未缩小的非捆绑资产文件
- 打开图层映射是未定义的错误
- 映射函数反应中的错误
- 角度中的数组映射错误
- 尝试在 Google 地图上映射点并收到错误(未处理的异常)
- 将 JSON 数组映射到 KO 抛出错误
- ChildBrowser和PhoneGap 1.5.0(Cordova)的映射错误
- 在将静态资源切换到CDN后,谷歌在Chrome+Firefox中映射错误,在Safari中很好:
- 谷歌在通过iframe嵌入时映射错误
- 在Windows RT上用phonegap上传mp3文件[Unicode映射错误]
- jQuery.返回对象属性映射时出现映射错误