jquery .each() loop
jquery .each() loop
我想阅读所有链接在"。vm-video-title"-div并将它们分别放在同一个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]方法那样对现有元素执行"destroy then recrere "操作。
http://jsfiddle.net/CCr9C/
这个应该可以帮你完成任务,
你需要在循环(el)中找到当前元素中的div。
$('.vm-video-title').each(function(i, el) {
el = $(el);
el.html(el.html()+el.find("a").text());
});
在你的代码中,你正在添加文本()所有匹配的"a"标签在你的div(即Text1Text2Text3)
你差一点就成功了。而不是:$("div.vm-video-title").text()
,它在任何div
中提供vm-video-title
类的文本,您需要在当前div
中找到a
标签并从中获取文本。为了在当前div
jQuery( selector, [context] )
中选择a
,我们将this
传递为context
$('.vm-video-title').each(function(i) {//all divs
$(this).html($(this).html()+$("a", this).text());
});
相关文章:
- jquery.each(第2行)添加背景色
- 如何使用jQuery each分离字符串中的元素
- 对于loop.if-仅在经过所有间隔后返回true
- jQuery setTimeOut: in for-loop
- {{#each}}内部的Handlebar帮助程序
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- Jquery.each数组推送不起作用
- 调用$.each()函数时上下文发生变化
- 鉴于 for..在构造中,库提供的函数(如 jQuery.map() 或 _.each())有什么用
- javascript/angularjs 将 String 与 number for loop 连接起来
- Underscore each to update collection
- Coffeescript jQuery each loop
- JavaScript for(-each) loop
- jQuery $.each loop and json mysql data
- jQuery each function parseInt loop
- Loop jQuery for each child
- 对于Loop/Each Loop变量存储和比较(jQuery或Javascript
- Jquery:for loop or $.each
- jquery .each() loop
- 如何将数据存储在 javascript for each “loop” 中,以便可以在“循环”之外访问它