【问题标题】:JQuery. Copy link attribute to a dynamic element within a div查询。将链接属性复制到 div 中的动态元素
【发布时间】:2013-01-30 13:16:10
【问题描述】:

我仍在学习 jQuery,我一直试图让每个动态生成的链接与 Div 中的前一个静态链接具有相同的 URL。该代码似乎将相同的 URL (#1) 应用于所有生成的链接,而在第二个 Div 上我需要它是#2。

代码:

$(document).ready(function() {
$('.sorter > div p').append('<a class="rdm">Read More</a>');
$('a.rdm').each(function() {
    var lnk = $('.sorter > div').find('a').attr('href');
    $(this).attr('href', '' + lnk);
});
});

HTML:

<div class="sorter">
<div><a href="#1">link A</a><p>some text </p></div><br /><br />
<div><a href="#2">link B</a><p>some text </p></div>
</div>

非常感谢您的帮助!

【问题讨论】:

    标签: jquery append href attr


    【解决方案1】:

    使用范围选择器可以帮助您单独处理每个 div。这是一个带有工作解决方案的 jsfiddle:http://jsfiddle.net/tuAUb/

    $(document).ready(function() {
        $('.sorter > div').each(function() {
            $('p', this).append('<a class="rdm">Read More</a>');
            var lnk = $(this).find('a').attr('href');
            $('a.rdm', this).attr('href', lnk);
        });
    });
    

    【讨论】:

    • 确实做到了! :) 要完全掌握 JQ 的工作原理,我还有很长的路要走,这样的帮助是无价的。你可以在这里看到它columbusecuador.com/elt
    【解决方案2】:

    试试这个。当您执行each 时,我使用锚的索引来生成它的href

    $(document).ready(function() {
        $('.sorter > div p').append('<a class="rdm">Read More</a>');
        $('a.rdm').each(function(i) {
            $(this).attr('href', '#' + (i + 1));
        });
    });
    

    【讨论】:

      【解决方案3】:

      哦,我想你需要这个:http://jsfiddle.net/GSgz5/

       var lnk = $(this).parent().siblings('a').attr('href'); //<--get href this way
       $(this).attr('href', lnk);
      

      【讨论】:

      • 你有没有通过小提琴链接。
      • 实际上给了我一个未定义的#1 目标
      • 不是这个在这个答案和小提琴链接中看到更新的 var lnk。
      • 很高兴为您提供帮助。感谢您的评论。
      猜你喜欢
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 2016-01-22
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多