下面的函數updateHref()
需要一個div
元素並查找它的父項的父標記。和(僅),如果它是一個錨(<a>
)標籤:
- 的的onclick的
div
將採取的頁面的<a>
的HREF加urlParams。
<a>
href現在將採取其舊網址加urlParams。
Demo link here。下面的代碼:
function updateHref(divElement, urlParams) {
var parentAnchor = divElement.parentNode.parentNode;
if (parentAnchor.nodeName != "A") return;
var url = parentAnchor.href + urlParams;
divElement.onclick = function() {
parent.location.href = url;
}
parentAnchor.href = url; // override parent anchor href URL
}
用法:
// for a specific div
var myDiv = document.getElementById('myDiv');
updateHref(myDiv, "search?p=param1");
// for all divs of the page (whose parent's parent is an anchor tag)
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
updateHref(divs[i], "search?p=param1");
}
所以還是讓我得到這個直,你預期的行爲是能夠點擊該'div'爲了檢索父a的href值? –
將'div'等塊元素放在'a'中是不合法的。 –
目前,只有圖像有鏈接。當我與我的跨度盤旋時,它不是可點擊的,所以我添加了div與onClick事件。雖然它正在工作,但我想清理我的html腳本,只是以編程方式添加這些鏈接,以減少添加鏈接的冗餘。 – lexeRoy