方括号从 jQuery 对象/集合返回特定的 DOM 节点,而不是 jQuery 对象;失败是因为本地 DOM 节点没有text()
方法。因此,您应该使用:
$('.content').append('<br>' + $ispan.eq(i).text());
概念证明
请注意,在链接的“概念验证”中,我修改了附加元素的方法,将其切换为:
$ispan.eq(i).text('span ' + (i+1)).appendTo('.content').before('<br />');
这是因为,使用上面编写的方法(您在评论中说有效),元素[Object object]
中的输出很多。.content
上述替代方法在 jQuery 对象中找到相关元素,设置其文本,将其附加到元素,然后在附加元素之前.content
插入 a 。<br />
此外,您的原始选择器应该充分替换为$('span')
,而不是过于复杂的 jQuery 包装的原生 DOM 选择器。
您在其他地方的评论中说,您需要处理一组“特定的”span
元素,我假设这就是您使用 的原因for() {...}
,您可以改为使用:gt()
:
var $ispan = $("span:gt(4)");
$ispan.text(function (i) {
return 'span ' + (i + 6);
}).appendTo('.content').before('<br />');
JS 小提琴演示。
参考: