获取 tag without jQuery的href属性的值

问题描述 投票:9回答:3

无论如何,如果没有jQuery,如何从“ a”标签中href属性的字符串值中获取?我有包含(例如)此内容的字符串-<a href="www.something">

如何获取href属性的值到变量?

javascript href
3个回答
11
投票

我有(例如)此内容的字符串-<a href="www.something">

如果实际上是如下所示的字符串:

var s = '<a href="www.something">';

然后您可以将正则表达式与.match() method一起使用:

.match()

如果它是您页面上的一个元素,请查看var href = s.match(/href="([^"]*)/)[1]; // href is now www.something (不需要我在此处重复该信息)。


10
投票

如果您确实有作为字符串,则为T.J. Crowder's answer

或者,或者,如果您在浏览器环境中:

refer to nnnnnn's answer

如果在通过该标记创建的页面上有实际元素,则:

如果您有对该元素的引用,则可以像这样从其获取var str = '<a href="www.something">'; var div = document.createElement('div'); div.innerHTML = str + "</a>"; // Make it a complete tag var link = div.firstChild.getAttribute("href");

href

通过var link = theElement.href; // or var link = theElement.getAttribute("href"); 获取它会返回实际属性的值,而不是完全限定的版本,getAttribute反映的属性将获得完全限定的版本(例如,相对链接得到扩展)。

获得对该元素的引用是一个广泛的话题。如果它具有href,则可以使用id。或者,如果您正在响应事件,并且该事件发生在所需元素附近的元素上,则可以使用各种getElementById导航到该元素。通过DOM properties and methods,您可以使用CSS选择器以及a lot of modern browsers(查找一个元素)或querySelector(列表)。

例如,这为您提供页面上具有类querySelectorAll的第一个链接的href

"foo"

完整示例:console.log(document.querySelector("a.foo").href); | Live Copy

Live Source

0
投票

以下代码将遍历所有<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>Getting the Link</title> </head> <body> <a id="theLink" href="/relative/link">Link</a> <script> (function() { var theLink = document.getElementById("theLink"); display("<code>href</code> property: " + theLink.href); display("<code>getAttribute('href')</code>: " + theLink.getAttribute("href")); function display(msg) { var p = document.createElement('p'); p.innerHTML = String(msg); document.body.appendChild(p); } })(); </script> </body> </html> 元素并记录其<a/>值(如果有一个,则::

href
© www.soinside.com 2019 - 2024. All rights reserved.