有什麼辦法,如何在沒有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;'。 –