Tôi có một thẻ neo có giá trị href địa phương và một hàm JavaScript sử dụng giá trị href nhưng chuyển nó đến một nơi hơi khác so với bình thường. Thẻ trông giống nhưNhận giá trị href địa phương từ thẻ neo (a)
<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 rằng item.href
sẽ chỉ trả lại một chuỗi ngắn "giây/IF00.html", nhưng thay vào đó nó sẽ trả về full href, "http : //www.thecurrentdomain.com/sec/IF00.html". Có cách nào mà tôi có thể rút ra chỉ là href ngắn như đặt trong neo <a>
thẻ? Hay tôi làm mất điều đó bằng 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ó trở nên phức tạp vì trang địa phương của tôi có thể thực sự là "http : //www.thecurrentdomain.com/somedir/somepath/sec/IF00.html" và trường my href có thể hoặc có thể không có thư mục con trong đó (ví dụ: href="page.html"
so với href="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 yêu cầu điều này, và đó là vì nó sẽ làm cho trang gọn gàng hơn rất nhiều. Nếu không thể chỉ nhận được href ngắn (như được đặt trong thẻ neo <a>
), thì tôi có thể chỉ cần chèn một trường bổ sung vào thẻ, như link="sec/IF00.html"
, nhưng một lần nữa, điều đó sẽ hơi lộn xộn hơn một chút.
OP đã cố gắng điều đó và không cung cấp cho anh ta kết quả mong muốn. – Bobort