使用jQuery拉取和放置href

时间:2010-11-02 10:14:30

标签: jquery

我正在尝试从动态链接中提取a href并将a href src插入另一个链接。

我的HTML代码摘录:

<li id="source_ahref"><a href="http://www.sitepoint.com/forums/showthread.php?p=4729682#post4729682">This is the Source Link</a></li>
<li class="text">Support Document 4&nbsp;<a id="target_ahref" href="#">Read Document</a></li>

我的Javascript代码:

<script type="text/javascript">
  var theHref = $("#source_ahref a:first").attr("href");
  $("#target_ahref a:first").attr("href", theHref);
</script>

您可以在http://jsfiddle.net/prodac/Azr7K/

看到我的完整代码

谢谢! :)

4 个答案:

答案 0 :(得分:4)

小修正,

<script type="text/javascript">
  var theHref = $("#source_ahref a:first").attr("href");
  $("#target_ahref").attr("href", theHref);
</script>

#target_ahref就足够了,因为它是锚标记的ID

假设您的ID是您的班级[根据以下评论],这里是更新的代码

<script type="text/javascript">
     $.each($(".source_ahref"),function(){
         var theHref = $("a:first",$(this)).attr("href");
         $(".target_ahref",$(this).parent()).attr("href", theHref);
     });
</script>

答案 1 :(得分:0)

替换$(“#target_ahref a:first”)。attr(“href”,theHref);以下内容:

$("#target_ahref").attr("href", theHref);

因为#target_ahref实际上是一个本身,所以不需要引用a:首先。

答案 2 :(得分:0)

更新后的

Chinmayee's answer不再正确。假设你的HTML结构看起来像你的问题,每个li元素彼此相邻,那么你可以改用它:

$('.target_ahref').attr('href', function(){
    return $(this).parent().prev().children('a').attr('href');
});

根据您的具体情况,您可能还希望将此选择器用于return语句:

return $(this).parent().prevAll('.source_ahref').first().children('a').attr('href');

答案 3 :(得分:0)

我终于设法将一个有效的解决方案放在了一起。非常感谢大家! :)

可以在http://jsfiddle.net/prodac/qvBn2/查看代码。随意使用和编辑!