2016-04-15 11 views
1

私は自分のページを擦って特定の親divにあるすべてのタグを返すjavascript(Googleタグマネージャ経由)を実行しようとしています。私が持っている例は以下の通りである:親div内のすべてのタグを返します。

<div class="class1"> 

<div class="subclass1"> 
<a href="url1">location1</a> 
</div> 

<div class="subclass2"> 
<a href="url2">location2</a> 
</div> 

<div class="subclass3"> 
<a href="url3">location3</a> 
</div> 

</div> 

私は次の形式[url1,url2,url3]

内のすべてのタグURL の文字列を返すようにJavascriptをお知りになりたいすべてのヘルプは本当にいただければ幸いです。

答えて

0

querySelectoAllを使用してすべてのターゲットアンカー要素を選択し、.map()を使用すると、配列にhrefという値が抽出されます。

var tags = Array.from(document.querySelectorAll('.class1 a[href]')).map((el) => el.getAttribute('href')); 
 
snippet.log('tags: ' + tags); 
 

 
//for older browser support 
 
var tags = [].map.call(document.querySelectorAll('.class1 a[href]'), function(el) { 
 
    return el.getAttribute('href') 
 
}); 
 
snippet.log('tags 2: ' + tags);
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> 
 
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 
 
<div class="class1"> 
 

 
    <div class="subclass1"> 
 
    <a href="url1">location1</a> 
 
    </div> 
 

 
    <div class="subclass2"> 
 
    <a href="url2">location2</a> 
 
    </div> 
 

 
    <div class="subclass3"> 
 
    <a href="url3">location3</a> 
 
    </div> 
 

 
</div>

+0

おかげでライブ作業コードを見ることができます! – paco

+0

私は配列の任意のアイデアの77番目の文字の後にスペースを入れて文字列を1つの問題がありますか? – paco

0

Javascriptコード

function callMe(){ 
var tags = []; 
var count = $(".class1").children().length; 
for(var i=0; i<count; i++){ 
    tags.push($('.class1').children().eq(i).find('a').attr('href'));  
} 
console.log(tags); 
} 

あなたは私が探していたアルン、まさにPlunker Here

+0

ところで 'jQuery'はタグ付けされていません! – Rayon

+0

ああ、はい。あなたが正しいです。 – Laxminarayan

+0

私は1つの問題は、文字列配列の任意のアイデアの77番目の文字の後にスペースを入れている? – paco

関連する問題