2014-08-29 68 views
0

我正在使用它來返回文本中的鏈接。jquery查找文本塊中的鏈接

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

它找到第一個,但之後沒有。這個文本塊有3個。任何想法如何讓它找到一些文本中的所有鏈接?

回答

1

要得到一個數組href s:

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

僅檢索的內容屬性:

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

這兩個工作,但這是我的需求最好的答案。謝謝! – user5839 2014-08-29 01:01:27

+0

你真的很受歡迎,我很高興得到了幫助! – 2014-08-29 01:02:21

+1

哦,非常好...這對我也很有用 - ! – 2014-08-29 01:47:47

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

你可以像這樣循環它們。

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

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