2017-05-09 48 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>