从jquery ajax数据中获取逗号分隔值

时间:2012-11-03 04:37:43

标签: jquery

我需要从服务器返回的jQuery ajax数据中获取逗号分隔值的列表。我得到的数据如下

<div id="1" class="clicked">A</div>
<div></div>
<div id="2" class="clicked">B</div>
<div></div>
<div id="3" class="clicked">dsf</div>
<div></div>
<div id="4" class="clicked">fd</div>
<div class=users>pp@gmail.com,pp1@gmail.com</div>

这是警报时收到的数据。我需要使用class = users提取div并将其更新为另一个div作为列表。怎么可能..请帮忙

1 个答案:

答案 0 :(得分:2)

这样的事情有效。我们使用$将字符串转换为jQuery对象。然后,您可以使用filter之类的常规jQuery调用来获取电子邮件列表。

然后创建一个列表。然后将每封电子邮件附加到它。

http://jsfiddle.net/BCmqL/3

//just hardcode in an example of your data
var ajaxData = '<div id="1" class="clicked">A</div><div></div><div id="2" class="clicked">B</div><div></div><div id="3" class="clicked">dsf</div><div></div><div id="4" class="clicked">fd</div><div class=users>pp@gmail.com,pp1@gmail.com</div>';

//turn it into a jQuery object, now you can just use jQuery to do stuff
$jObject = $(ajaxData);
$emails = $($jObject).filter('div.users').text();

//split the list to get all the emails
var emails = $emails.split(',');

//create a list to add list items to
var $ul = $('<ul />');

//iterate through list and append them to a ul
$(emails).each( function(index, value) {
    var $li = $('<li>'+value+'</li>');
    $ul.append($li);
});

//append new list to body
$('body').append($ul);
​