jQuery将各种id加载到页面的各个部分

时间:2010-11-15 22:13:30

标签: jquery load

在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等等......

非常感谢任何想法/帮助!

安迪

3 个答案:

答案 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中,其余的被丢弃。