使用jQuery将div中的第一个URL替换为div中的第二个URL

时间:2017-02-01 23:06:27

标签: jquery

我有点卡住了。 我正在联合内容并试图撤消我继承的一些垃圾。在返回的代码中,有2个URL。第一个需要用第二个替换。例如:

<div class="col-md-3 col-sm-3 col-xs-12 pt-cv-content-item pt-cv-1-col" data-groups="category-266 category-145 category-264 category-263" data-pid="3515">
    <div class='pt-cv-ifield'>
        <a href="url-to-site-1" class="_self pt-cv-href-thumbnail pt-cv-thumb-default cvplbd" target="_self" >link text</a>
        <h4 class="pt-cv-title"><a href="url-to-site-1" class="_self cvplbd" target="_self" >link text</a></h4>
        <div class="pt-cv-content">
            <p><a href="good-link" target="_blank">good link text</a></p>
        </div>
    </div>
</div>

在这个例子中,我的目标是使用jQuery动态地将“url-to-site-1”替换为“good-link”。

我可以使用jQuery函数输出div中的所有链接,但我仍然努力用Url2替换URl1。

以下是将URL记录到控制台的jQuery:

$('.pt-cv-1-col').find('a').each(function() {
    console.log($(this).attr('href'));
});

任何帮助将不胜感激。我需要第二组眼睛。

2 个答案:

答案 0 :(得分:0)

应该很简单......

// identify parent container
var parent = $(".pt-cv-1-col");

// determine good_href based on HTML structure
// here we want parent container's <div>.pt-cv-content's <a>
var good_href = parent.find(".pt-cv-content").find("a").attr('href');

// set all of parent's <a> href attribute to good_href we found above
parent.find("a").attr( 'href', good_href );

示例:https://jsfiddle.net/j5mvj2a3/

如果你有倍数,你可以循环通过父母的集合......

$(".pt-cv-1-col").each( function(){
    var parent = $(this);
    var good_href = parent.find(".pt-cv-content").find("a").attr('href');
    parent.find("a").attr( 'href', good_href );
});

https://jsfiddle.net/j5mvj2a3/1/

答案 1 :(得分:0)

反向:

  1. 首先定位好锚(.pt-cv-content的孩子)
  2. 使用.closest()
  3. 向上遍历
  4. 查找所有链接并修改其href
  5. &#13;
    &#13;
    $(".pt-cv-content").find("a").attr("href", function(idx, goodHref) {
      $(this).closest(".pt-cv-1-col").find("a").attr("href", goodHref);
    });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div class="pt-cv-1-col">
        <div class='pt-cv-ifield'>
            <a href="url-to-site-1">link text</a>
            <h4><a href="url-to-site-1">link text</a></h4>
            <div class="pt-cv-content">
                <p><a href="good-link">good link text</a></p>
            </div>
        </div>
    </div>
    &#13;
    &#13;
    &#13;

    以上内容适用于文档中的任意数量的块。