jQuery 和jqTouch - ajax.load 问题
我认为我的问题更多地在于我的方法并且更多地应用于jquery,但是这里发生了一些奇怪的事情。
我正在使用 jQuery & jqTouch.我的 html 是:
<div id="home" class="current">
<div class="toolbar">
<h1>Header</h1>
</div>
<ul class="rounded">
<li class="arrow"><a href="#currentloc">Current Location</a></li>
</ul>
</div>
<div id="currentloc">
<div class="toolbar">
<h1>Nearby</h1>
</div>
</div>
我想做的是,当用户单击当前位置链接时,在 pageAnimationEnd 上我想加载一个页面并将其附加到 #currentloc。这是我的代码:
$('#currentloc').bind('pageAnimationEnd', function(e, info){
$(this).load('results.php');
});
如您所见,这将完全替换#currentloc 的内容。我不确定如何附加 results.php 的内容而不替换已有的内容。我已经考虑过将 ajax 加载请求放在append: 中,
$(this).append(load('results.php'));
但这完全不起作用...
知道该怎么做吗?
更新
我尝试过的一件事虽然有效但感觉有点笨拙,但
$('#currentloc').bind('pageAnimationEnd', function(e, info){
$(this).append('<ul></ul>');
$(this).find('ul').load('results.php');
});
感觉有一个更好的解决方案。
I think my problem lies more in my approach and applies more to jquery, but something weird is happening here.
I'm using jQuery & jqTouch. My html is:
<div id="home" class="current">
<div class="toolbar">
<h1>Header</h1>
</div>
<ul class="rounded">
<li class="arrow"><a href="#currentloc">Current Location</a></li>
</ul>
</div>
<div id="currentloc">
<div class="toolbar">
<h1>Nearby</h1>
</div>
</div>
What I'm trying to do is when a user clicks the Current Location link, on pageAnimationEnd I'd like to load a page and append it to #currentloc. Here's my code:
$('#currentloc').bind('pageAnimationEnd', function(e, info){
$(this).load('results.php');
});
As you can see, this will entirely replace the contents of #currentloc. I'm not sure how I append the content of results.php without replacing what's already there. I've looked at putting the ajax load request inside of append:
$(this).append(load('results.php'));
but that totally wasn't working...
Any idea what to do?
UPDATE
One thing I've tried which works but feels a little clumsy is
$('#currentloc').bind('pageAnimationEnd', function(e, info){
$(this).append('<ul></ul>');
$(this).find('ul').load('results.php');
});
Feel like there's a better solution to this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
jquery 中的 load 函数会替换内容,因此如果您希望保留当前内容,则必须创建另一个元素。
如果删除对 find 函数的调用,则可以使代码更短一些。
或者
The load function in jquery replaces the content, so you must create another element if you wish to keep the current content.
You can could make your code a little shorter if you remove the call to the find function.
or