在rel属性中动态加载链接。
问题描述:
我想动态加载内容使用jquery的函数。我将链接存储在链接的.rel
属性中。我有它设置如下:在rel属性中动态加载链接。
<script>
$(document).ready(function(){
$('.sidebar_link').click(function(){
var link = this.attr('rel');
event.preventDefault();
$('#content').empty();
$('#content').load(link '#content');
});
});
</script>
<div class="main_menu">
<a class="sidebar_link" href="#" rel="photos.htm">Photography</a>
<a class="sidebar_link" href="#" rel="furniture.htm">Furniture</a>
<a class="sidebar_link" href="#" rel="services.htm">Services</a>
</div>
</div>
它不工作 - 它似乎并没有被抓取的链接了rel属性和林不知道为什么。有任何想法吗?
答
试试这个:而
var link = $(this).attr('rel');
.attr不是一个原生的JavaScript功能,它是由jQuery的,所以你必须包装this
使用jQuery
这样的:
$('#content').load(link);
你可以通过一个ID来加载片段,但是url和id需要是一个字符串,就像这样$('#content').load('photos.htm #content')
photos.htm页面需要一个元素在带有ID内容的页面上。如果你只是想显示整个页面的内容,只需使用url。
答
$('#content').load(link '#content');
这几乎肯定会引发语法错误 - 请检查您的JavaScript控制台。我想你只是想要.load(link);
。
答
在您的点击处理程序this
是一个纯DOM元素;你需要访问相对attribue
$('#content').load($(this).attr("rel"));
之前调用就可以了jQuery的功能,您可以通过一个id加载片段,但URL和ID必须是一个字符串,像这样''AJAX/test.html中#container'' – Paul 2011-12-26 02:03:56