我正在使用jQuery和它的.map功能来创建一个我可以作为JSON字符串发送的数组。
每当我尝试发送它时,都会收到一条错误消息: e.text不是函数 。
这是我的HTML
<a class="hrefURL" href="www.google.com">Google</a>
这里是jQuery
Links: $("[class=hrefURL]").map(function (i, e) {
return { LinkURL: e.attr('href'), LinkText: e.text() };
}).toArray()
非常感谢任何帮助。
谢谢!
答案 0 :(得分:2)
e
是一个dom元素,而不是jQuery对象。
{ LinkURL: $(e).attr('href'), LinkText: $(e).text() };
虽然我不太确定为什么它没有首先在e.attr
答案 1 :(得分:2)
映射函数的第二个参数是DOM元素,而不是jQuery对象:
$('a[class="hrefURL"]').map(function (i, e) {
var link = $(e);
return { LinkURL: link.attr('href'), LinkText: link.text() };
}).toArray()
或避免额外的jQuery之旅:
$('a[class="hrefURL"]').map(function (i, e) {
return { LinkURL: e.href, LinkText: e.innerText };
}).toArray()