2017-05-09 3 views
3

aの要素をクラス内に入れて変更したいと考えています。クラス内のtagName要素を取得

私のHTMLは次のとおりです。

<div class="alignleft"> 
    <a href="http://cismdomain.com/articles/page/2/">« Older Entries</a> 
</div> 

私はPreviousOlder Entriesを変更したいです。

var oldentries = document.querySelector('.alignleft'); 
var ainside = document.getElementsByTagName('a'); 
oldentries.ainside.innerHTML = "Previous"; 

それは私にundefinedを与える:

私のJavaScriptコードがあります。

答えて

0

document.getElementsByTagNameはHTMLコレクションを返します。だからあなたはそれを反復する必要があります(あなたの場合は、最初のエントリになります)。

var oldentries = document.querySelector('.alignleft'); 
var ainside = document.getElementsByTagName('a'); 
for(i=0;i<ainside.length;i++) { 
    ainside[i].innerHTML = "Previous"; 
} 
+0

このコードは、なぜおよび/またはどのようにこのコードは質問がその長期的な価値を向上回答に関する追加のコンテキストを提供し、質問に答えるかもしれないが。 –

0

あなたはより正確なセレクタを使用してquerySelectorにACシングル呼び出しを使用して、要素を探すことができます直接それを2回行うのではなく、.alignLeft aを使用しています。

このコードは動作します:

var entries = document.querySelector('.alignLeft a'); 
entries.innerHTML = "Previous" 
0

あなたのコードが配列でないあなたが.innerHTMLを適用することができ、オブジェクトをレンダリングするでしょう。また

document.querySelector('.alignleft').document.getElementsByTagName('a').innerHTML = "Previous"; 

getElementsByTagName('a')ような何かに出てレンダリングします。

var ainside = document.querySelector('.alignlef a'); // Select first occurance of a inside the first occurance of .alignleft in the document 

ainside.innerHTML = "Previous"; 
1

あなたは<a>要素のtextContentプロパティを更新する必要があります。

実施例:

var linkElement = document.querySelector('.alignleft a'); 
 
linkElement.textContent = 'Previous';
<div class="alignleft"> 
 
<a>Older Entries</a> 
 
</div>

2

あなたもoldentries'a'要素を取得するためにoldentries.querySelector('a');を行い、その後、element.innerHTMLを変更することができます'.alignleft'あなたはクラスで要素を取得するためにDocument.querySelector()を使用したら、 :

var oldentries = document.querySelector('.alignleft'), 
 
    ainside = oldentries.querySelector('a'); 
 

 
ainside.innerHTML = 'Previous';
<div class="alignleft"> 
 
    <a href="http://cismdomain.com/articles/page/2/">« Older Entries</a> 
 
</div>

関連する問題