jquery在文本块中查找链接

时间:2014-08-29 00:42:54

标签: jquery

我使用它来返回文本中的链接。

$links = $('.sceneText').find( "a" ).attr('href');
console.log($links);

找到第一个,但之后没有。这个文本块中有3个。知道如何让它找到一些文本中的所有链接?

3 个答案:

答案 0 :(得分:2)

在那里扔each -

$('.sceneText').find( "a" ).each(function() {  
    console.log($(this).attr('href'));
}

但是,只有在您的DOM树看起来像这样时才会有效:

<div class="sceneText"> 
    <a></a>
    <a></a>
    <a></a>
    <a></a> 
</div>

如果每个.sceneText周围有一个a,即:                                                  

然后,你需要这样做:

$('.sceneText').each(function(){
    console.log($(this).find("a").attr("href"));

});

或者,如果您使用选择器,您可能会在不使用find()的情况下离开:

$('.sceneText > a').each(function(){
    console.log($(this).attr("href"));

});

答案 1 :(得分:1)

获取href s的数组:

var hrefArray = $('.sceneText a').map(function(){
    // will generate an array of absolute URLs:
    return this.href;
}).get();

仅检索href属性的内容:

var hrefArray = $('.sceneText a').map(function(){
    // will get the text from the href attribute:
    return this.getAttribute('href');
}).get();

答案 2 :(得分:1)

你可以像这样循环它们。

$links = $('.sceneText').find( "a" ).attr('href');

    for(var i = 0; i < $links.length; i++) {
        console.log($links.get(i));
    }