以下の関数は要素をupdateHref()
取り、そのdiv
親の親タグを探します。そして (のみ) アンカー ( <a>
) タグの場合:
- のonclick は
div
、ページをの<a>
href と 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");
}