如何获取页面的所有锚标签并添加类?

时间:2012-06-15 09:35:06

标签: php javascript jquery anchor

如何获取页面的所有锚标记并将一个类添加到mailto(例如mailto:example@example.com),将另一个类添加到web链接(例如http://example.com)?

预期输出:

<a href="mailto:example@example.com" class="class1">
<a href="http://example.com" class="class2">

9 个答案:

答案 0 :(得分:11)

$('a[href^="mailto:"]').addClass('class1');
$('a:not([href^="mailto:"])').addClass('class2');​

示例:http://jsfiddle.net/HackedByChinese/3t2MQ/2/

更新使用:not()代替[href^="http"]

答案 1 :(得分:2)

您可以使用此JQuery获取锚元素的集合:

var elements = $("a");

从那里你可以遍历每个并检查href值:

elements.each(function(){
   var a = $(this);
   if(a.attr("href").indexOf("mailto:") == 0){
      a.addClass("MailToClass");
   }
   else{
      a.addClass("HttpClass");
   }
});

答案 2 :(得分:0)

$(document).ready(function() {
    $.each($('a'), function(k, v) {
        var href = $(v).attr('href');
        if (href.indexOf('mailto') != -1)
            $(v).addClass('class1');
        else
            $(v).addClass('class2');
    });
});

答案 3 :(得分:0)

你可以使用这样的东西

$('a[href^="mailto:"]').addClass('class1'); //This line adds a class to any href starting with mailto
$('a[href^="http"]').addClass('class2'); //This line adds a class to any link starting with http

答案 4 :(得分:0)

试试这个:

$('a[href^="mailto').each(function(){
   $(this).addClass('sth')
})

答案 5 :(得分:0)

使用jQuery .each()函数遍历所有锚元素并检查href,以便知道要添加哪个类。

示例

$('a').each(function(){
    if($(this).attr('href') == 'mailto:example@example.com'){
        $(this).addClass('class1');
    }
    else if($(this).attr('href') == 'http://example.com'){
        $(this).addClass('class2');
    }
});

答案 6 :(得分:0)

此链接也可以帮助您了解选择器 http://api.jquery.com/category/selectors/

答案 7 :(得分:0)

$("a").each(function(){
  if($(this).attr('href').indexOf('mailto:') == 0) {//mailto link
   $(this).addClass('class1')
  }
  else {
   $(this).addClass('class2')
  }
 });

答案 8 :(得分:-1)

在同一文档中查找标签

$('a[href^="mailto:"]').addClass('class1');
$('a:not([href^="http:"])').addClass('class2');

在iframe中找到喜欢的内容

jQuery("a[href^='mailto:']",jQuery("#myiframe")[0].contentDocument).addClass('class1');
jQuery("a:not([href^='http:'])",jQuery("#myiframe")[0].contentDocument).addClass('class2');