属性链接到另一个元素

时间:2016-01-03 21:30:26

标签: jquery attr

我有这样的HTML:

<div class="post">
  <p><a href="link1">Paralase1 mokew kweis</a></p>
  <p>Kwoie uisye jkui</p>
  <a class="pan">Readmore</a>
</div>

<div class="post">
  <p><a href="link2">Paralase2 mokew kweis</a></p>
  <p>Kwoie uisye jkui</p>
  <a class="pan">Readmore</a>
</div>

<div class="post">
  <p><a href="link3">Paralase3 mokew kweis</a></p>
  <p>Kwoie uisye jkui</p>
  <a class="pan">Readmore</a>
</div>

我希望元素a的类名是pan,将从帖子标题(link1,link2,link3)添加链接,但也要添加帖子标题的第一个单词(Paralase1,Paralase2,Paralase3)到结果:

<div class="post">
  <p><a href="link1">Paralase1 mokew kweis</a></p>
  <p>Kwoie uisye jkui</p>
  <a class="pan" href="link1#Paralase1">Readmore</a>
</div>

<div class="post">
  <p><a href="link2">Paralase2 mokew kweis</a></p>
  <p>Kwoie uisye jkui</p>
  <a class="pan" href="link2#Paralase2">Readmore</a>
</div>

<div class="post">
  <p><a href="link3">Paralase3 mokew kweis</a></p>
  <p>Kwoie uisye jkui</p>
  <a class="pan" href="link3#Paralase3">Readmore</a>
</div>

2 个答案:

答案 0 :(得分:1)

所以你想让pan链接到与配对链接相同的东西?

$('.pan').each(function(){
    var $this = $(this),
        $pairedLink = $this.parent().find('a').eq(0),
        desiredLink = $pairedLink.attr('href');

    desiredLink = desiredLink +'#'+ $pairedLink.text().split(' ')[0];

    $this.attr('href', desiredLink);
});

如果第一个链接有一个类,那将是一个更容易的选择器。

包括小提琴参考:https://jsfiddle.net/bqz7zmhf/1/

答案 1 :(得分:1)

可以绑定一个简单的点击处理程序来触发点击其他链接

$('a.pan').attr('href',function(){
    return $(this).parent().find('a:first').attr('href');
});

或循环浏览所有帖子并添加href。

partykit