我在下面有以下结构。使用jQuery我需要获取每个链接并在其下方显示href。我可以使用一些子选择器为每个编写代码,但我只是想用'col'类为所有div编写一些东西,并允许将来添加...
<div class="col">
<a href="http://google.com">Google</a>
</div>
<div class="col">
<a href="http://yahoo.com">Yahoo!</a>
</div>
<div class="col">
<a href="http://facebook.com">Facebook</a>
</div>
<div class="col">
<a href="http://twitter.com">Twitter</a>
</div>
上面应该变成......
<div class="col">
<a href="http://google.com">Google</a>
<span>http://google.com</span>
</div>
<div class="col">
<a href="http://yahoo.com">Yahoo!</a>
<span>http://yahoo.com</span>
</div>
<div class="col">
<a href="http://facebook.com">Facebook</a>
<span>http://facebook.com</span>
</div>
<div class="col">
<a href="http://twitter.com">Twitter</a>
<span>http://twitter.com</span>
</div>
感谢任何帮助!
答案 0 :(得分:3)
$('div.col').each(function(){
alert($(this).find("a").attr("href"));
//figure out the rest yourself
});
答案 1 :(得分:3)
这让你没有尝试编写代码。你应该真的能够自己做这件事。
$('.col a').each(function() {
var $this = $(this);
$("<span>"+$this.attr('href')+"</span>").insertAfter($this);
});
答案 2 :(得分:2)
$('.col > a').after(function() {
return $('<span>', {text:this.href});
});
答案 3 :(得分:0)
这应该这样做。你可以使用每个。阅读更多关于选择器的信息。
$(document).ready(function(){
$("div.col").each(function(){
var hreftext = $(this).find("a").attr("href");
$(this).append("<span>" + hreftext + "</span>");
});
});
答案 4 :(得分:0)
这样的事情会起作用:
$('div.col').each(function() {
var $a = $(this).find('a:first'),
href = $a.attr('href');
$('<span>').text(href).insertAfter($a);
});
答案 5 :(得分:0)
$(".col").each(function(){
var v= $(this).find("a");
$("<span/>",{text:v.attr('href')}).insertAfter(v);
});
答案 6 :(得分:0)
这可以通过基本的jQuery'adpend()'
来完成$('div.col').each(function(){
var href = $(this).children('a:first').attr('href');
$(this).append('<span>' + href + '</span>');
});
答案 7 :(得分:-1)
是的我同意每个解决方案。但是如果你缓存你的选择器会更好。否则每次jQuery必须深入DOM。如果它的大清单可能会影响性能。
var col = $('.col a');
col.each(function(){
var val = $(this).text();
$(this).append("<span>"+val);
})
<强>更新强>
我的部分错误地解释了这个问题。更新的代码和链接。
var col = $('.col a');
col.each(function(){
var val = $(this).attr('href');
$(this).after("<span>"+val);
})
谢谢@am不是我