我有点卡住了。 我正在联合内容并试图撤消我继承的一些垃圾。在返回的代码中,有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'));
});
任何帮助将不胜感激。我需要第二组眼睛。
答案 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 );
});
答案 1 :(得分:0)
反向:
.closest()
href
$(".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;
以上内容适用于文档中的任意数量的块。