我希望我的问题有一个简单的解决办法。我基本上是在做一个简单的jquery搜索,返回值是一个数组,包含一组嵌套的span元素。所以这样的查询:
$('.sqs-simple-like').eq(0);
将返回具有“..sqs simple-like”类结构的第一个对象。当我在developer窗口的控制台中查询它时,它将返回以下内容:
[<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元素转换为一个简单的字符串吗?
发布于 2013-07-05 21:15:46
演示
var str = $('.sqs-simple-like').get(0).outerHTML; //or use [0] instead of get(0)
发布于 2013-07-05 21:15:05
这是因为.html
返回匹配元素的内部HTML。
通过使用.wrap
将另一个元素包装在目标周围,可以获得所需的结果,如下所示:
$('.sqs-simple-like').eq(0).clone().wrap("div").html();
我在包装之前添加了对.clone
的调用,因为没有它,.wrap
还会在活动DOM中插入div
元素,这可能是不可取的。
https://stackoverflow.com/questions/17496931
复制相似问题