javascript - 将数组转换回 jQuery 集
问题描述
我需要将 jQuery 集转换为数组以使用数组方法,例如sort
和map
:
const result = $('.selector').toArray().map(function (el) {
const o = $(el);
return {object: o, value: o.data('value')};
}).sort(function (a, b) {
if (a.value > b.value) return 1;
if (a.value < b.value) return -1;
return 0;
}).map(el => el.object);
如您所见,结果是一个 jQuery 对象数组。
现在我需要将其转换回 jQuery 集以便对其进行操作:
$(result).appendTo('#main');
但$(result)
看起来不太像$('.selector)
,我收到以下错误:
TypeError: e is undefined
解决方案
而不是使用appendTo
,我宁愿使用append
它,正如您在文档中看到的那样,在其签名中,它也接受一个数组:http ://api.jquery.com/append/
htmlString 或 Element 或 Text 或 Array 或 jQuery DOM 元素、文本节点、元素数组和文本节点、HTML 字符串或 jQuery 对象,插入到匹配元素集中每个元素的末尾。
所以,而不是: $(result).appendTo('#main');
,只需使用:
$('#main').append(result);
只要result
是上述任何支持类型的数组。
推荐阅读
- python - opencv中的三角形填充
- java - java RETURN_GENERATED_KEYS 会影响性能吗?
- spring - Spring Cloud Stream 消息处理
- android - 如何从 Android 分页组件中的 PagedListAdapter 中删除项目
- regex - 使用 Golang 正则表达式查找一个整数后跟一个字符串
- javascript - Javascript Jcrop 和旋转
- c++ - CMake:将 cURL 链接到我的项目:“找不到 -lcurl”
- android - ANDROID 错误程序类型已存在:com.google.ads.AdRequest$Gender?
- php - Paypal IPN 文件无法向买家发送电子邮件,但可以发送给我
- mysql - 如何从 MySQL 中选择常见问题