创建链接数据数组并通过JSON / AJAX发送

时间:2013-05-28 18:07:37

标签: json jquery

我正在使用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()

非常感谢任何帮助。

谢谢!

2 个答案:

答案 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()