我真的试图打破我一直在使用的小jQuery框,并尝试使用jQuery来缩短某些项目的时间,我想知道什么是最好的解决方案,如果我只是想从一个锚点复制title属性,并将该值设置为接下来的3个锚点标记。看来很乏味,我知道......这是我到目前为止所做的尝试。
$('#home-gallery li a').each(function(){
var copiedTitle = $(this).first().attr('title');
$('#home-gallery li a').each(function(){
this.title = copiedTitle;
});
});
这是HTML
<li>
<a href="images/tn/eowine/full.jpg" data-fancybox-group="eowine" title="Eowine vs. Nosgule"><img src="images/tn/eowine.jpg" alt="" /></a>
<!-- more images -->
<div style="display: none;">
<a href="images/tn/eowine/first.jpg" data-fancybox-group="eowine" title="Eowine vs. Nosgule"><img src="images/tn/eowine/first.jpg" alt="" /></a>
<a href="images/tn/eowine/second.jpg" data-fancybox-group="eowine" title="Eowine vs. Nosgule"><img src="images/tn/eowine/second.jpg" alt="" /></a>
<a href="images/tn/eowine/third.jpg" data-fancybox-group="eowine" title="Eowine vs. Nosgule"><img src="images/tn/eowine/third.jpg" alt="" /></a>
</div>
</li>
任何帮助都会很棒!
谢谢!
非常感谢你们帮助我,这意味着很多......我肯定提高了我对这个主题的认识,这是我最感谢的社区帮助!
我将继续尝试向我展示的各种技巧,并将研究发布的每一种方法,以进一步掌握知识。
再次感谢你们!
答案 0 :(得分:0)
你可以这样做:
$anchors = $('#home-gallery li a');
$anchors.slice(1, 4).attr('title', $anchors.first().attr('title'));
这样做是选择匹配集合的第2到第4个元素(包括所有锚点)并设置它们的title
属性以匹配集合中第一个元素的标题。
如果您有其他标准而不是严格的第2至第3至第4位置,那么表达这些标准的方式也会类似。
<强> See it in action 强>
答案 1 :(得分:0)
你可能想要这样的东西:
var copiedTitle = $('#home-gallery li a:first').attr('title');
$('#home-gallery li a:not(:first)').each(function() {
$(this).attr('title', copiedTitle);
});
答案 2 :(得分:0)
你只需要一个。
var copiedTitle = $('#home-gallery li').children('a').attr('title');
$('div a').each(function() {
$(this).attr('title') = copiedTitle;
});
儿童只选择直接后代,并且因为你的第一个锚具有原始标题,并且它不是后续锚的兄弟,所以它是唯一需要抓取和存储的人。