我想在课堂内获取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
。
答案 0 :(得分:3)
使用Document.querySelector()获取课程'.alignleft'
的元素后,您还可以oldentries.querySelector('a');
获取'a'
中的oldentries
元素,然后更改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>
答案 1 :(得分:1)
您需要更新textContent
元素的<a>
属性。
工作示例:
var linkElement = document.querySelector('.alignleft a');
linkElement.textContent = 'Previous';
<div class="alignleft">
<a>Older Entries</a>
</div>
答案 2 :(得分:0)
Other
返回HTML集合。所以你需要迭代它(在你的情况下,它将是第一个条目)。
document.getElementsByTagName
答案 3 :(得分:0)
您可以使用更精确的选择器使用对querySelector的signle调用来查找元素:直接使用.alignLeft a
而不是两次。
此代码有效:
var entries = document.querySelector('.alignLeft a');
entries.innerHTML = "Previous"
答案 4 :(得分: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";