0

div の onClick href を親のアンカー href 値に設定するにはどうすればよいですか??

<a href="getThisLink.html" target="_parent">
    <img src="images/1.jpg" />
    <span>
    <div onclick="parent.location.href='**Link me with my anchor parent**' + 'params1';" >
           <span>Words Words Words</span>
    </div>            
</span>
</a>

スライドショーでこれを使用しています。

4

2 に答える 2

2

以下の関数は要素を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");    
}
于 2013-06-13T01:18:46.523 に答える
0

あなたのコードは有効ではありませんが、実際のスクリプトは次のとおりです。

<a href="getThisLink.html" target="_parent">
    <img src="images/1.jpg" />
    <span>
        <div onclick="location.href = this.parentNode.parentNode.href + '#param1'; return false;">
            <span>Words Words Words</span>
        </div>
    </span>
</a>
于 2013-06-13T01:26:43.433 に答える