簡體   English   中英

javascript:目標div中

[英]javascript: target div in <a href …>

我有2個htm文件:a.htm和b.htm。 在b.htm中,我有2個div,其中一個是指向a.htm的鏈接,我想在第二個div中打開它,但它會在新標簽頁中作為新頁面打開。 我的JavaScript不好,但是我看了很多例子,所以我相信我已經很接近解決方案了,但是顯然在某些地方有一些錯誤。 請幫忙!

因此,在a.htm中,我有以下內容:

<html>
    <body>
        TEST
    </body>
</html>

在b.htm中,我有以下內容:

<html>
    <head>
        <script language="JavaScript">
            function url2div(url,target){
                document.getElementById(target).innerHTML = '<iframe style="width:100%;height:100%;" frameborder="0" src="' + url + '" />';
            }   
        </script>
    </head>
    <body>

        <div id="menu" style="background-color:#FFD700;height:100px;width:100px;float:left;">
            <a href="a.htm" onclick="url2div(this.href,'content')">Click</a>
        </div>

        <div id="content" style="background-color:#EEEEEE;height:100px;width:400px;float:left;">
            Original content
        </div>

    </body>
</html>

將鏈接存儲在函數內,而不是href屬性內:

<a href="#" onclick="url2div('http://www.bing.com', this)">Click</a>

將JS更改為此:

function url2div(url, element) {
    var iframe = document.createElement('iframe');
    iframe.setAttribute('src', url);
    element.appendChild(iframe);
}

JSFiddle演示#1

如果要在同一iframe打開鏈接,請將鏈接存儲在href以外的任何其他屬性中。 然后,使用您當前的功能,它應該可以正常工作!

<a href="#" id="a.htm" onclick="url2div(this.id,'content')">Click</a>

JSFiddle演示#2

我認為這並不像您做的那么復雜。 此外,先前的答案還不能完全滿足OP的要求...所以這是我的選擇:

首先,我假設是html5,所以您不需要在腳本標記中使用“ javascript”。 其次,我認為您不需要傳遞所有這些變量。 您的錨標簽應參考

 <a href=b.htm#content onclick="url2div();"<\a> 

和你的JavaScript應該是

  otherPageText = "<iframe src=\"HtmlPage2.html\" width=\"200\" height=\"200\"></iframe>";
  document.getElementById("content").innerHTML = otherPageText;

之后,如果您需要變量,請仔細嘗試一次傳遞它們。

原始問題的一部分是您傳遞的“ this”引用的是新頁面,而不是舊頁面,但是到發生這種情況時,您就進入了新頁面,而沒有將想要的頁面帶回到第一頁頁。 我之所以遠離它的部分原因。

PS對不起,格式化錯誤。 這對我來說是全新的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM