2015-02-11 110 views
-5

我有菜單上的錨標記,點擊菜單鏈接我想打開一個新的jsp頁面,將其作爲與標記相同的div標記。 我的jsp文件:在同一頁面上將錨標記定位到div標記

<ul> 
     <li><a href="music_details.jsp" target="#div_displayfrom">Music</a></li> 
     <li><a href="dance_details.jsp" target="#div_displayfrom">Dance</a></li> 
</ul> 

<div class="main-container" id="div_displayfrom"> 

</div> 

請幫助....提前致謝!

+0

也許你可以使用'iframe' – Arvind 2015-02-11 12:23:38

回答

1

如果你想使用jQuery,那麼你可以這樣做:

<ul id='mainTabs'> 
    <li><a href="music_details.jsp">Music</a></li> 
    <li><a href="dance_details.jsp">Dance</a></li> 
</ul> 

那麼您可以在jQuery的做到這一點:

$('#mainTabs a').click(function(e){ 
    e.preventDefault(); 
    $('#div_displayfrom').load(this.getAttribute('href')); 
}); 
+0

謝謝@Jai,您給出的解決方案對我來說工作得很好......第一次運行的jsp頁面加載在同一頁面上,但沒有在目標div中,但從第二次運行開始按需要工作...... – Anjali 2015-02-11 13:36:32

0

target屬性指定在哪裏打開鏈接document.Following是有效的屬性值,

_blank - 打開鏈接的文檔在新窗口或標籤

_self - 打開鏈接的文檔在它被點擊相同的幀(這是默認值)

_parent - 在父幀打開鏈接的文檔

_top - 打開窗口framename的全身的鏈接的文檔打開鏈接的文檔在一個名爲框架

How do I load an HTML page in a <div> using JavaScript?在div加載頁面。

0

試試這個:

使用.load()函數的頁面內容加載到指定的DIV。

$('ul > li > a').click(function(){ 
    $('#div_displayfrom').load($(this).attr('href')); 
    return false; 
}); 
-1

嘗試這樣的:

<ul> 
<li><a href="music_details.jsp#div_displayfrom">Music</a></li> 
.... 
</ul> 

<div class="main-container" id="div_displayfrom"> 

+1

請添加一些解釋上這是如何解決問題 – Huangism 2015-02-11 15:17:22

0

簡短的回答是,你不能。

您描述的行爲是iframe的行爲,而不是div

您可以使用JavaScript(Ajax)來獲取內容並將提取的HTML放入div中(但您必須考慮樣式表,腳本,不同的URL以解決文檔中的相對URL會被解析的問題反對等)。 jQuery有一個load方法來解決這個問題。

+0

感謝清除我的疑惑@Quentin ...我已經使用Jquery加載方法,如上面的答案建議。 – Anjali 2015-02-11 13:42:04