下面的函数updateHref()
接受一个div
元素并查找它的父标签。并且(仅)如果它是一个锚(<a>
)标签:
- onclick
div
会将页面带到's href和<a>
urlParams 。
<a>
href 现在将使用其旧url 和 urlParams。
演示链接在这里。下面的代码:
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");
}