2017-05-09 52 views
3

我想在類內部獲得a的元素並對其進行更改。獲取類裏面的tagName元素

我的HTML是:

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

我想改變Older EntriesPrevious

我的JavaScript代碼是:

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

但是,讓我undefined

回答

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一個勁兒地呼叫是通過使用更精確的選擇你的元素:直接使用.alignLeft a而不是做兩次的。

此代碼:

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

您的代碼會呈現出類似

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

此外,getElementsByTagName('a')會使數組不是一個對象,你可以申請.innerHTML來。

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

一旦你開始使用Document.querySelector()獲得與一流的元素'.alignleft',你也可以做oldentries.querySelector('a');oldentries得到'a'元素,然後更改element.innerHTML

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>