[英]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);
}
如果要在同一iframe
打開鏈接,請將鏈接存儲在href
以外的任何其他屬性中。 然后,使用您當前的功能,它應該可以正常工作!
<a href="#" id="a.htm" onclick="url2div(this.id,'content')">Click</a>
我認為這並不像您做的那么復雜。 此外,先前的答案還不能完全滿足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.