首页 > 解决方案 > 在某些链接上不做索引不关注

问题描述

我有随机文本:

使用 JavaScript 我需要替换链接 no-follow 和 no-index。我怎么能做到这一点?

我试过:

$('.content').html().replace('example.com', '<a href="example.com" rel="nofollow">Example</a>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="content">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae blanditiis cum numquam qui iure odit. Ipsum beatae magni dicta quibusdam natus. Necessitatibus voluptas nobis <a href="http://example.com">example</a>, esse culpa? Suscipit, consequatur,
    debitis.
  </p>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. <a href="http://example.com">Example 1</a> ullam, vitae laborum aliquam officiis similique, magnam fugiat, <a href="http://example2.com">maxime</a> itaque repellendus iure. Et voluptatem quae
    tenetur neque accusamus atque consectetur totam.
  </p>
</div>

但我总是得到原始文本。为什么?

标签: javascriptjquery

解决方案


无需替换 html....只需使用attributeContains 选择器定位这些链接

$('.content a[href *="example.com"]').attr('rel','nofollow')

对于所有外部链接的更通用的方法,使用filter()并检查链接主机与页面主机

$('.content a').filter(function(){
    return this.host !== location.host
}).attr('rel','nofollow')

推荐阅读