我想阅读“.vm-video-title”-divs 中的所有链接并将它们分别发布在同一个 div 中。所以我做了这个脚本:
$('.vm-video-title').each(function(i) {//all divs
$(this).html($(this).html()+$("div.vm-video-title>a").text());//add to div the link
});
但我有一个问题,它读取所有 div 的所有链接并将它们放在一个 div 中。
例子:
<div class="vm-video-title"><a href="...">Text1</a></div>
<div class="vm-video-title"><a href="...">Text2</a></div>
<div class="vm-video-title"><a href="...">Text3</a></div>
输出:
<a href="...">Text1</a>Text1Text2Text3
<a href="...">Text2</a>Text1Text2Text3
<a href="...">Text3</a>Text1Text2Text3
想要的输出:
<a href="...">Text1</a>Text1
<a href="...">Text2</a>Text2
<a href="...">Text3</a>Text3
最佳答案
您可以选择 <a>
元素,并使用 after()
[docs]方法分别在每一个之后追加每一个的内容。
$("div.vm-video-title > a").after(function() { return $(this).text(); });
这不会像 html()
[docs] 这样的现有元素“销毁然后重新创建”方法会。
关于javascript - jquery .each() 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637489/