2017-09-02 58 views
2

什么是Vanilla JS等同于上面写的Jquery代码?在html页面中,如果这些链接href实际上是同一页面上的元素的Id,则所述代码将返回实际的元素对象。

document.querySelectorAll('nav ul li a')[0].getAttribute('href') 

将只返回在href的值作为一个字符串:不是元素,它的链接。

我该如何在香草中实现这一点,清晰的Javascript?实际上有办法吗?

+3

可能重复的[纯JS相当于Jquery eq()](https://stackoverflow.com/questions/18930975/pure-js-equivalent-of-jquery-eq) – z3nth10n

+0

@Ikillnukes不,我没有查询.eq ()。请理解问题在评论之前实际问的是什么:我在询问有关纯JQuery中JQuery的.attr('href')函数的工作方式和等效方法。我在描述中描述了这一点。 – cpsavante

+0

好吧,得到这个更加耗费资源,因为你必须遍历文档的所有节点和子节点,并搜索具有所需href属性值的节点和子节点。 – z3nth10n

回答

2

如果href的价值是一样的东西#someID,和你想,这指的是,使用元素:

var element = document.querySelector(document.querySelector('nav ul li a').getAttribute('href')); 

或使代码更清晰:

var selector = document.querySelector('nav ul li a').getAttribute('href'); 
var element = document.querySelector(selector);