如何获得“href”属性包含单词“youtube”的每个“a”标签?

时间:2011-07-09 20:42:33

标签: javascript jquery html css jquery-selectors

我想要抓住a属性包含单词href的每个youtube标记。 我需要使用jquery。

5 个答案:

答案 0 :(得分:15)

$('a[href*="youtube"]')

有关更多选择器,请参阅jQuery API的Selectors部分。

答案 1 :(得分:9)

Attribute Contains Selector

$('a[href*="youtube"]');

答案 2 :(得分:6)

您可以随时使用“过滤器”:

var allYoutubes = $('a').filter(function() { return /youtube/.test(this.href); });

可以使用一个发烧友选择器,但这很简单明了,而且可能更快,因为库不需要做你的选择器意味着什么的工作。这主要是品味问题。

答案 3 :(得分:4)

很简单......

$('a[href*="youtube"]')

http://api.jquery.com/attribute-contains-selector/ http://api.jquery.com/category/selectors/

答案 4 :(得分:2)

这些其他答案很棒;但是如果你感兴趣的话,做一个纯JS(没有jQuery)的替代方案并不困难

function getYouTubeLinks() {

    var links = document.getElementsByTagName("a");
    var ytlinks = [];
       for(var i=0,l=links.length;i<l;i++){
           if(links[i].href.replace("http://","").indexOf("youtube.com") === 0) {
            ytlinks.push(links[i]);  
           } 
        } 
   return ytlinks;
}

var youtube = getYouTubeLinks();
for(var i=0,l=youtube.length;i<l;i++){
    youtube[i].style.color = "pink";   
}

确保删除“www”是个好主意。和“https://”。