我有以下一段html:
<div class="inside-article">
<a style="height:70px;" href="blabla">
<img width="70" height="70" src="//anysite.com/1234/anypic.jpg" alt="Bugblt4"
</a>
</div>
请注意,这只是摘录;像这样建立了更多的具有相同类名的类,只是它们具有不同的href。
我正在尝试从此类href
中获取inside-article
并在页面上对其进行提醒,但似乎无法正常工作。因此,我已经阅读了有关它的内容,也许有一些提示,阅读了有关getAttribute方法并尝试使用它的方法,但这还是行不通的:/
到目前为止,我有:
var x = document.getElementsByClassName('inside-article')[0].getAttribute('href');
alert(x);
但是我还能怎么做呢?我收到的警报消息仅为null
:(
答案 0 :(得分:4)
您正在定位没有href的div。您的目标是在div内定位标签。
document.querySelector('.inside-article a').href
编辑
由于您在页面上提到了多个实例,因此如何浏览所有实例
var links = document.querySelectorAll('.inside-article a');
for(var i = 0; i < links.length; i++){
links[i].href;
}
答案 1 :(得分:2)
问题是您要定位div,您需要定位div中的目标,我已经附上了如何实现此目标的jsFiddle示例。
function scrollToRegisterForm(event) {
const registerIntro = document.getElementsByClassName("register-intro")[0];
const registerIntroTop = registerIntro.offsetTop - 20;
console.log(registerIntro);
console.log(registerIntroTop);
window.scrollBy({
top: registerIntroTop,
left: 0,
behavior:'smooth'
});
};
示例:
document.addEventListener("DOMContentLoaded", function() {
var linkToRegister = document.getElementsByClassName("login-or-register__register")[0];
linkToRegister.onclick = scrollToRegisterForm;
});
var link = document.querySelectorAll('.inside-article a')[0];
console.log(link.getAttribute("href"));