2

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

预期输出:

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

8 回答 8

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

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

更新使用:not()而不是[href^="http"].

于 2012-06-15T09:37:07.260 回答
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");
   }
});
于 2012-06-15T09:39:10.207 回答
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');
    });
});
于 2012-06-15T09:38:02.407 回答
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
于 2012-06-15T09:38:07.033 回答
0

试试这个:

$('a[href^="mailto').each(function(){
   $(this).addClass('sth')
})
于 2012-06-15T09:38:31.767 回答
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');
    }
});
于 2012-06-15T09:39:23.607 回答
0
$("a").each(function(){
  if($(this).attr('href').indexOf('mailto:') == 0) {//mailto link
   $(this).addClass('class1')
  }
  else {
   $(this).addClass('class2')
  }
 });
于 2012-06-15T09:42:56.813 回答
-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');
于 2012-06-15T09:40:05.980 回答