我有一个html页面,其中我有一些锚标记我想在锚标记中添加rel =“no follow”属性,如果它在源文件以超文本传输协议开始的页面上没有它请求。一些锚已经具有rel属性。我怎样才能通过
来实现它例如: -
<html>
<body>
<p> Here we go</p>
<a href="https://www.abc.com"> a1</a>
<a href="https://www.abc.com" rel="nofollow" > a2</a>
<a href="https://www.abc.com">a3</a>
</body>
</html>
我想在a1和a2上添加rel = no follow属性页面加载时间我该如何实现这个
答案 0 :(得分:2)
$('a').each(function(){
if(this.innerHTML == 'a1' || this.innerHTML == 'a2'){
$(this).attr('rel','nofollow');
}
});
运行后的更新
$('a[href^="http"]').attr('rel', 'nofollow'); // all links starting with http wil get rel attribute
^ attribute starts with selector
更改HTML
<a src="https://www.abc.com"> a1</a>
到
<a href="https://www.abc.com"> a1</a>
它不是src
它href
答案 1 :(得分:1)
$("a:contains('a1'),a:contains('a2')").attr("rel","no follow");
<强>更新强>
if($("a").attr("rel")=="no follow")
{
// do stuff
} else{// if not exist
//do your stuff
}
答案 2 :(得分:1)
三:
var A=document.getElementsByTagName("a");
for(var i=0;i< A.length;i++)
{
if(A[i]['rel']!="")
{
A[i].setAttribute("rel","Something");
}
}
答案 3 :(得分:1)
$(function () {// on page load time
$('a').each(function () {// check every a element
var text = $(this).html();// get the content
if (text.indexOf('a1') > 0 || text.indexOf('a2') > 0) {// find a1 and a2
$(this).attr('rel', 'no follow');// set the rel to no follow
}
);
});
答案 4 :(得分:0)
更新代码
$('a:not([rel])[href^="http"]').attr('rel','nofollow')
Tushar Gupta提供了一个可以找到所有http链接并添加rel
属性的单行,但它没有考虑已经具有rel
属性的链接。
原始解决方案
// find all links that do not have a rel attribute
$('a:not([rel])').each(function() {
var $this = $(this),
href = $this.attr('href');
// check that the link starts with http[s]://
if(href && href.match(/https?:\/\//)) {
$this.attr('rel', 'nofollow');
}
});