将title属性复制到接下来的3个锚标记

时间:2012-04-15 23:32:47

标签: jquery copy title

我真的试图打破我一直在使用的小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>

任何帮助都会很棒!

谢谢!


非常感谢你们帮助我,这意味着很多......我肯定提高了我对这个主题的认识,这是我最感谢的社区帮助!

我将继续尝试向我展示的各种技巧,并将研究发布的每一种方法,以进一步掌握知识。

再次感谢你们!

3 个答案:

答案 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;
});

儿童只选择直接后代,并且因为你的第一个锚具有原始标题,并且它不是后续锚的兄弟,所以它是唯一需要抓取和存储的人。