如何在javascript中从此类获取href?

时间:2018-09-25 15:01:00

标签: javascript html

我有以下一段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:(

2 个答案:

答案 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"));