Jquery返回Object

时间:2013-07-05 21:13:15

标签: jquery

我希望能解决我的问题。我基本上做了一个简单的jquery搜索,返回值是一个带有嵌套的span html元素集的数组。所以像这样的查询:

$('.sqs-simple-like').eq(0);

将返回具有相同类结构'.sqs-simple-like'的第一个对象。当我在开发人员窗口的控制台中查询它时,它返回:

[<span class="sqs-simple-like" data-item-id="db8a2c74088b44608eed112e15e45207" data-like-count="0" id="yui_5a41b52d-e23f-449d-a828-981814b19c5e">
  <span class="like-icon"></span><span class="like-count">0 Likes
  </span>
</span>]

因此,它返回一个带有嵌套span项的数组。本质上,我想将整个返回对象用作一个简单的字符串。基本上,我只想将这个嵌套的span元素插入到我网站上的另一个div中。但是,我似乎无法将返回值作为简单字符串访问。如果我使用 .html() 方法,它只返回内部span元素(但不返回整个嵌套结构)。我试过寻找其他方法,但似乎没有任何工作。 .toString() 方法似乎也不起作用。是否有其他方法可以将这个嵌套的span元素转换为简单的字符串?

2 个答案:

答案 0 :(得分:4)

DEMO

var str = $('.sqs-simple-like').get(0).outerHTML; //or use [0] instead of get(0)

答案 1 :(得分:0)

那是因为.html返回匹配元素的内部HTML。

您可以使用.wrap在目标周围包裹另一个元素,从而得到您想要的结果:

$('.sqs-simple-like').eq(0).clone().wrap("div").html();

我在换行前添加了对.clone的调用,因为没有它.wrap也会在实时DOM中插入div元素,这可能是不受欢迎的。