有什么办法,如何在没有jQuery的情况下从“a”标签的字符串值中获取href属性? 我有(例如)这个内容的字符串 - <a href="www.something">
。获取href属性的值<a>不带jQuery的标签
如何获得href属性值的变量?
有什么办法,如何在没有jQuery的情况下从“a”标签的字符串值中获取href属性? 我有(例如)这个内容的字符串 - <a href="www.something">
。获取href属性的值<a>不带jQuery的标签
如何获得href属性值的变量?
我有字符串(例如)此内容 -
<a href="www.something">
如果它实际上是一个字符串,如下所示:
var s = '<a href="www.something">';
然后你可以使用正则表达式与.match()
method:
var href = s.match(/href="([^"]*)/)[1];
// href is now www.something
如果它是您的网页上的元素,然后看看T.J. Crowder's answer(我不需要在这里复制这些信息)。
当我们组队时,好事发生。 :-) –
谢谢@ T.J.Crowder。我已经将提到的答案升级为实际的超链接。 +1在你的答案。 – nnnnnn
(在这里,我认为它的先前upvote是从你!:-)) –
如果你真的有作为字符串,那么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进行导航。使用a lot of modern browsers,您可以使用CSS选择器和querySelector
(查找一个元素)或querySelectorAll
(列表)。
例如,这使您具有类"foo"
页面上的第一个链接的href
:
console.log(document.querySelector("a.foo").href);
完整的示例:Live Copy | Live Source
<!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
值(如果他们有一个):
var anchors = document.getElementsByTagName('a');
var i, len = anchors.length;
for(i = 0; i < len; i++) {
console.log(anchors[i].getAttribute('href'));
}
你开始用细绳或DOM元素?如果您有DOM元素,只需执行'var href = a.href;'。 –