在wordpress中我有一个页面设置为拉随机帖子,使用jQuery我想在这个(随机)页面的部分拉到当前(主页)页面的各个部分,此时代码是如下:
$('#wrongQuote').load('random/index.php #wrongSaying' + '?noCache=' + Math.floor(Math.random()*10001)); $('#sayingBy').load('random/index.php #author' + '?noCache=' + Math.floor(Math.random()*10001)); $('#actualQuote').load('random/index.php #actualSaying' + '?noCache=' + Math.floor(Math.random()*10001));
麻烦的是这是随机的#wrongSaying,#author和#actualSaying ...我需要的是随机,但匹配#wrongSaying / #author / #actualSaying
所以我想我需要的是得到这个页面'random / index.php #wrongSaying'然后把div #x插入div#a,div #f插入div #e等等......
非常感谢任何想法/帮助!
安迪
答案 0 :(得分:7)
我不会在这里使用.load()
3个请求,我会自己加载并使用$.get()
向服务器发出一个请求,如下所示:< / p>
$.get('random/index.php', { noCache: Math.floor(Math.random()*10001) },
function(data) {
data = $(data);
$('#wrongQuote').html(data.find('#wrongSaying'));
$('#sayingBy').html(data.find('#author'));
$('#actualQuote').html(data.find('#actualSaying'));
});
您使用.load()
获得的片段加载并不是您自己无法做到的......当您重复相同的请求时,您不应该做自己的事情。 ..高效并提出一个请求,具有更易读的代码IMO。
答案 1 :(得分:0)
您可以将其全部加载到隐藏元素中并拉出隐藏元素:
$(hiddenElement).load('random/index.php?noCache=' + Math.floor(Math.random()*10001));
$(elementYouWanToSet).html( $(hiddenElement).find(elementYouWant) );
答案 2 :(得分:0)
.load()
有3个参数,一个url,查询数据和一个回调函数。
尝试将您的行更改为:
var randomID = Math.floor(Math.random()*10001);
$('#wrongQuote').load('random/index.php #wrongSaying', 'noCache='+randomID);
$('#sayingBy').load('random/index.php #author', 'noCache='+randomID);
$('#actualQuote').load('random/index.php #actualSaying', 'noCache='+randomID);
重复ID没有任何问题,因为只有.load()
的ID被插入到DOM中,其余的被丢弃。