Tôi có một thẻ liên kết có giá trị href cục bộ và một hàm JavaScript sử dụng giá trị href nhưng hướng nó đến một vị trí hơi khác so với bình thường. Thẻ trông giống như
<a onclick="return follow(this);" href="sec/IF00.html"></a>
và một hàm JavaScript trông giống như
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Tôi mong đợi điều đó item.href
sẽ chỉ trả về một chuỗi ngắn "sec / IF00.html", nhưng thay vào đó, nó trả về href đầy đủ, "http://www.thecurrentdomain.com/sec/IF00.html". Có cách nào để tôi có thể lấy ra chỉ href ngắn như được đặt trong <a>
thẻ liên kết không? Hay tôi đánh mất điều đó bởi hành vi HTML tự nhiên?
Tôi cho rằng tôi có thể sử dụng thao tác chuỗi để thực hiện việc này, nhưng nó khá phức tạp vì trang cục bộ của tôi thực sự có thể là "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html" và trường href của tôi có thể hoặc có thể không có một thư mục con trong nó (cho ex href="page.html"
vshref="sub/page.html"
), vì vậy tôi không thể luôn xóa mọi thứ trước dấu gạch chéo cuối cùng.
Bạn có thể thắc mắc tại sao tôi lại yêu cầu điều này, và đó là vì nó sẽ giúp trang sạch hơn rất nhiều. Nếu không thể chỉ lấy href ngắn (như được đặt trong <a>
thẻ liên kết), thì tôi có thể chỉ cần chèn một trường bổ sung vào thẻ, giống như link="sec/IF00.html"
, nhưng một lần nữa, điều đó sẽ phức tạp hơn một chút.