false - javascript超連結語法




從anchor(a)標記獲取本地href值 (4)

href屬性設置或返回鏈接的href屬性的值。

  var hello = domains[i].getElementsByTagName('a')[0].getAttribute('href');
    var url="https://www.google.com/";
    console.log( url+hello);

我有一個具有本地href值的錨標記,以及一個使用href值的JavaScript函數,但是將它指向一個與通常不同的地方。 標籤看起來像

<a onclick="return follow(this);" href="sec/IF00.html"></a>

和一個看起來像的JavaScript函數

baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
    location.href = baseURL + item.href;
}

我希望item.href只返回一個短的字符串“sec / IF00.html”,而是返回完整的href,“http://www.thecurrentdomain.com/sec/IF00.html”。 有沒有辦法可以拉出錨點<a>標籤中的短href? 或者我通過自然的HTML行為失去了它?

我想我可以使用字符串操作來執行此操作,但它變得棘手,因為我的本地頁面實際上可能是“http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html”,並且我的href字段可能或者可能沒有子目錄(對於ex href="page.html"href="sub/page.html" ),所以我不能總是在最後一個斜杠之前刪除所有內容。

您可能想知道我為什麼要求這樣做,這是因為它只會使頁面變得更清晰。 如果不可能只獲得短的href(如錨<a>標籤中所示),那麼我可能只是在標籤中插入一個額外的字段,如link="sec/IF00.html" ,但同樣,這會有點麻煩。


document.getElementById("link").getAttribute("href"); 如果您有多個<a>標記,例如:

<ul>
  <li>
    <a href="1"></a>
  </li>
  <li>
    <a href="2"></a>
  </li>
  <li>
    <a href="3"></a>
  </li>
</ul>

你可以這樣做: document.getElementById("link")[0].getAttribute("href"); 訪問第一個<a>標籤數組,或取決於您所做的條件。


很遺憾看到有多少人給出了這樣的不舒服和不方便的答案。 這是檢索href的最簡單方法:

$("a").click(function(e){ 
      var hash = this.hash;
      alert(hash);
  });

全部只用一行代碼完成。 這很靈活,不依賴於像以前的答案那樣獲取elementId。


document.getElementById("aaa").href; //for example: http://example.com/sec/IF00.html




href