我想根据类"div.companyName .dataText"
最近的div是否包含特定文本来更改链接。如果div包含VIP公司,我想将"pg=tfind"
替换为"pg=tfind&s_promoCode=vipteammate"
。如果包含“普通”,我想用"pg=tfind&s_promoCode=teammate"
替换它。我在下面的代码中添加了两个连接链接的代码,但是有多个。当前,脚本使用vipteammate更新了两者的链接。 HTML是硬编码的,不能直接编辑,因此必须使用js完成。
这是我到目前为止所拥有的:
jQuery(document).ready(function() {
jQuery('.join .dataText a').each(function(){
if($(this).closest('#team-listings').find('.companyName .dataText:contains("VIP Company")')){
this.href = this.href.replace('pg=tfind', 'pg=tfind&s_promoCode=vipteammate');
} else if($(this).closest('#team-listings').find('.companyName .dataText:contains("Normal")')) {
this.href = this.href.replace('pg=tfind', 'pg=tfind&s_promoCode=teammate');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="team-listings">
<div class="companyName">
<span class="dataText">
VIP Company
</span>
</div>
<div class="join">
<span class="dataText">
<a href="http://wwww.link.com?pg=tfind&fr=8939898">Join</a>
</span>
</div>
</div>
<div class="team-listings">
<div class="companyName">
<span class="dataText">
Normal
</span>
</div>
<div class="join">
<span class="dataText">
<a href="http://wwww.link.com?pg=tfind&fr=87349834">Join</a>
</span>
</div>
</div>
已经停留了一段时间,我们将不胜感激!
答案 0 :(得分:1)
您应该找到最近的#team-listing,然后找到包含VIP公司(或“普通”)的dataText元素。同样在您的if语句中,您应检查length> 0以确定是否找到了它。
我在下面修改了您的代码段
$(document).ready(function() {
$('.dataText a').each(function(index, item){
if($(item).closest('#team-listings').find('.dataText:contains("VIP Company")').length > 0){
this.href = this.href.replace('pg=tfind', 'pg=tfind&s_promoCode=vipteammate');
} else if($(item).closest('#team-listings').find('.dataText:contains("Normal")').length > 0) {
this.href = this.href.replace('pg=tfind', 'pg=tfind&s_promoCode=teammate');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="team-listings">
<div class="companyName">
<span class="dataText">
VIP Company
</span>
</div>
<div class="join">
<span class="dataText">
<a href="http://wwww.link.com?pg=tfind&fr=8939898">Join</a>
</span>
</div>
</div>
<div id="team-listings">
<div class="companyName">
<span class="dataText">
Normal
</span>
</div>
<div class="join">
<span class="dataText">
<a href="http://wwww.link.com?pg=tfind&fr=87349834">Join</a>
</span>
</div>
</div>