2015-02-11 95 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