从数组追加和加载

时间:2014-06-22 18:26:05

标签: javascript jquery arrays jquery-load jquery-append

我对javascript和jQuery一般都是新手,我现在已经在这个脚本上工作了大约3天。我四处寻找解决方案,但还是找不到它。我想我的搜索技巧很糟糕。

所以,我试图从多个页面加载元素并将它们附加到现有的DIV。例如,我有一个名为test.php的页面,其中包含<div id="container">。我还有多个其他页面叫做:

  • pizzas.php
  • pies.php
  • apples.php
  • oranges.php
  • mangos.php

这些是我将数据从中加载到test.php中的页面。每个列出的页面中都有<div id="about">

用户会向我发送一系列他们希望通过填写的文字字段加载的网页。我接受并拆分它。使用该数组,我想为该数组中的每个字符串创建一些DIV。所以这就是我到目前为止的地方,假设有一位用户要求比萨饼,馅饼和苹果的信息:

<script>
var str = "pizzas,pies,apples";
var test = str.split(",");

$.each(test, function(i,v){
  $('#container').append('<div id="' + v + '"></div>');
});

</script>

哪个收益率:

<div id="container">
  <div id="pizzas"></div>
  <div id="pies"></div>
  <div id="apples"></div>
</div>

创建新的DIV后,我想将每页的#about加载到相应的DIV中。我想我可以通过将它添加到每个循环来实现它,但它不起作用:

$( '"#' + v + '"' ).load( "index.php?x=" + v + " #about" );
//like $("#pizzas").load('index.php?x=pizzas #about');

那就是我被卡住的地方。无论如何,我非常感谢我能得到的任何帮助。

1 个答案:

答案 0 :(得分:1)

看起来你可以在创建div之后使用这样的东西:

$("#container > div").each(function() {
    $(this).load("index.php?x=" + this.id + " #about");
});

或者,就像这样一次拍摄:

var str = "pizzas,pies,apples";
var test = str.split(",");

var container = $('#container');
$.each(test, function(i,v){
    $("<div></div>", {id: v}).appendTo(container)
        .load("index.php?x=" + v + " #about");
});