jQuery:为所有可下载链接添加一个类

时间:2017-11-08 16:19:09

标签: jquery hyperlink selector external internal

我尝试将.dl类添加到除.pdf.html之外的任何文件后缀(扩展名)的所有链接。我不希望我的其他(外部和内部)链接受到影响。

$('a').not("a[href^='http://'], a[href^='https://'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#'], a[href$='.pdf'], a[href$='.html']").addClass( 'dl' );

使用我的代码,一些相对和外部链接会受到影响。我该怎么办才能修复它?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是您可以考虑尝试的方法。

filename数组表示要添加类的所有后缀。



  SELECT item.*
    FROM item
   WHERE item.deleted_at IS NULL
     AND EXISTS ( SELECT 1
                    FROM topic
                    JOIN item_topic
                      ON item_topic.item_id    = item.id
                     AND item_topic.topic_id   = topic.id
                     AND item_topic.deleted_at IS NULL
                    JOIN item_like_audit 
                      ON item_like_audit = item.id
                     AND item_like_audit.created_at >= DATE(NOW()) + INTERVAL -7 DAY 
                   WHERE topic.slug  = ?
                     AND topic.deleted_at IS NULL
                )
  ORDER BY item.like_count DESC

var fileNames = ["suffix1", "suffix2"];

$("a").each(function(index, element){
  fileNames.forEach(function(fileName){
    if($(element).attr("href").startsWith(fileName)){
      $(element).addClass("dl");
    }
  });
});

.dl {
  color:red;
}