5

我试图在列表中的每个元素之后简单地添加一个逗号。

$('#tag_cloud-2 div.tagcloud a').each(function(){
  console.log($(this));
  $(", ").after($(this));
});

控制台吐出标签,所以我知道它正在找到它们。我也尝试过 insertAfter ,但没有运气。这个接缝应该是这么简单的事情!感谢您指出我所缺少的。

4

2 回答 2

5

$(', ')被视为选择器(无效),因为它无法创建包含字符串的文本节点。

$("<span>, </span>").after($(this));由于有效的标记将起作用。

尝试:

$(this).after(', ');

或者

$(this).append(', ');

或者

$(this).text(function(i, oldText) {
  return oldText + ', ';
})
于 2012-07-31T17:17:21.290 回答
1

jQuery 的$()函数并不像那样工作。在非标记字符串上调用它不会创建包含该字符串的文本节点。

您可以颠倒您的逻辑,从 开始$(this),然后调用after(),但是:

$(this).after(", ");

因为after()如果其参数之一是非标记字符串,则会创建一个新的文本节点。

于 2012-07-31T17:18:00.370 回答