0

我有类似这样的 JSON 响应:

<span id=\"my-id-527114\">Some data here</span>\n <span id="my-differentid">something else</span>

有什么办法可以得到文本“这里有一些数据”

现在我收到文字:

这是我的功能:

$( "#myelementid" ).autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "some remote url",
                dataType: "jsonp",
                data: {
                    term: request.term
                },
                success: function( data ) {
                    response( $.map(data, function( item ) {
                        if(item.value != " ")
                        {
                            var lbl = $(item.label);

                        return {

                                label: $(lbl).text(),
                                value: item.id
                            }
                        }
                    }));
                }
            });
        },
4

3 回答 3

0

您的响应不是 JSON。它是 HTML/字符串。

              success: function( data ) {
                        if(item.value != " ") {

                            ......
                            var html = $(item),
                                text = $('span#my-id-527114', html).text();

                        } else {

                            .....
                        }
                }
于 2012-05-08T10:49:55.347 回答
0

如果你有一个字符串:

var spans = '<span id=\"my-id-527114\">Some data here</span>\n
             <span id="my-differentid">something else</span>'

您可以使用 jQuery 将其转换为文档元素,并以通常的方式访问内容:

var text = $(spans).find('#my-id-527114').text();
于 2012-05-08T10:50:11.337 回答
0

这个可能有帮助。

var html = "<span id=\"my-id-527114\">Some data here</span>\n <span id="my-differentid">something else</span>
";

html = html.replace (/\n/i, "");
html = html.replace (/<\/span.*?$/, "");
html = html.replace (/<span.*?>/i, "");

alert (html); // what you want is here
于 2012-05-08T11:06:56.087 回答