使用jQuery拉取和放置a href

使用jQuery拉取和放置a href,jquery,Jquery,我试图从动态链接中拉出a href,并将a hrefsrc插入另一个链接 我的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&a

我试图从动态链接中拉出
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>
  • 支持文件4
    我的Javascript代码:

    <script type="text/javascript">
      var theHref = $("#source_ahref a:first").attr("href");
      $("#target_ahref a:first").attr("href", theHref);
    </script>
    
    
    var theHref=$(“#source_ahref a:first”).attr(“href”);
    $(“#target_ahref a:first”).attr(“href”,theHref);
    
    您可以在以下位置查看我的完整代码:

    谢谢!:)

    小修正

    <script type="text/javascript">
      var theHref = $("#source_ahref a:first").attr("href");
      $("#target_ahref").attr("href", theHref);
    </script>
    
    
    var theHref=$(“#source_ahref a:first”).attr(“href”);
    $(“target_ahref”).attr(“href”,theHref);
    
    #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>
    
    
    $.each($(“.source_ahref”),函数(){
    var theHref=$((a:first),$(this)).attr(“href”);
    $(.target_ahref),$(this.parent()).attr(“href”,theHref);
    });
    
    小修正

    <script type="text/javascript">
      var theHref = $("#source_ahref a:first").attr("href");
      $("#target_ahref").attr("href", theHref);
    </script>
    
    
    var theHref=$(“#source_ahref a:first”).attr(“href”);
    $(“target_ahref”).attr(“href”,theHref);
    
    #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>
    
    
    $.each($(“.source_ahref”),函数(){
    var theHref=$((a:first),$(this)).attr(“href”);
    $(.target_ahref),$(this.parent()).attr(“href”,theHref);
    });
    
    替换$(“#target_ahref a:first”).attr(“href”,theHref);以下是:

    $("#target_ahref").attr("href", theHref);
    
    因为您的#target_ahref实际上是a本身,所以不需要引用a:first。

    替换$(“#target_ahref a:first”).attr(“href”,theHref);以下是:

    $("#target_ahref").attr("href", theHref);
    
    因为您的#target_ahref实际上是a本身,所以不需要首先引用a:first。

    ,在更新之后,不再正确。假设您的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');
    
    更新后,不再正确。假设您的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');
    

    我终于想出了一个可行的解决办法。非常感谢大家!:)


    该代码可在上查看。请随意使用和编辑一个

    我终于找到了一个可行的解决方案。非常感谢大家!:)


    该代码可在上查看。请随意使用和编辑一个

    在您的代码中,您在每个UL标签中重复了相同的id,这不是一件好事。您应该始终为元素使用唯一id。在我的最终文档中,我使用的是动态创建的id。我已根据您的建议更新了我的代码,但我也无法使其正常工作。请在Just change$(“.target_ahref”,$(this)).attr(“href”,theHref)查找更新版本;到$(.target_ahref),$(this.parent()).attr(“href”,theHref);由于$(this)返回li,并且我们的目标锚标记位于另一个li中,我们必须在UL中找到它,即源li的父级。在您的代码中,您在每个UL标记中重复了相同的id,这不是一件好事。您应该始终为元素使用唯一id。在我的最终文档中,我使用的是动态创建的id。我已根据您的建议更新了我的代码,但我也无法使其正常工作。请在Just change$(“.target_ahref”,$(this)).attr(“href”,theHref)查找更新版本;到$(.target_ahref),$(this.parent()).attr(“href”,theHref);由于$(this)返回li,并且我们的目标锚标记位于另一个li中,因此我们必须在UL中找到它,即源li的父级。我最终设法将一个工作解决方案组合在一起。非常感谢大家!:)我终于想出了一个可行的解决办法。非常感谢大家!:)