使用jQuery添加Tag After和Before元素

时间:2012-08-31 23:00:25

标签: jquery tags html

假设我有这个标记:

<li class="cat-item"><a href="#">Item 1</a> 5 </li>
<li class="cat-item"><a href="#">Item 2</a> 9 </li>
<li class="cat-item"><a href="#">Item 3</a> 4 </li>
<li class="cat-item"><a href="#">Item 4</a> 3 </li>
<li class="cat-item"><a href="#">Item 5</a> 7 </li>

我希望在<li><a>item</a>之后和</li>之前插入一个span标记。

<li class="cat-item"><a href="#">Item 1</a><span> 5 </span></li>
<li class="cat-item"><a href="#">Item 2</a><span> 9 </span></li>
<li class="cat-item"><a href="#">Item 3</a><span> 4 </span></li>
<li class="cat-item"><a href="#">Item 4</a><span> 3 </span></li>
<li class="cat-item"><a href="#">Item 5</a><span> 7 </span></li>

我想用jquery做。谁知道怎么做?

2 个答案:

答案 0 :(得分:6)

尝试

$('li.cat-item a').each(function(){
    $(this.nextSibling).wrap('<span>');
});

<a> <span>之后的wraps文本节点(即其nextSibling){{1}}

DEMO

答案 1 :(得分:0)

这将在“li.cat-item”

中的每个A之后插入空跨度
$('li.cat-item a').after('<span />');

请参阅jQuery - after()