繁体   English   中英

获取class中的tagName元素

[英]Get the tagName element inside class

我想要得到的元素a内部类,并改变它。

我的HTML是:

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

我想将Older Entries更改为Previous

我的JavaScript代码是:

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

但这让我undefined

一旦你使用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> 

您需要更新<a>元素的textContent属性。

工作实例:

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

document.getElementsByTagName返回HTML集合。 所以你需要迭代它(在你的情况下,它将是第一个条目)。

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

您可以使用更精确的选择器使用对querySelector的.alignLeft a调用来查找元素:直接使用.alignLeft a而不是两次。

此代码有效:

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

你的代码会呈现出类似的东西

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";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM