2

一般来说,我对 javascript 和 jQuery 还是很陌生,我已经在这个脚本上工作了大约 3 天。我四处寻找解决方案,但还没有找到。我想我的搜索技巧很烂。

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

  • 比萨饼.php
  • 馅饼.php
  • 苹果.php
  • 橘子.php
  • 芒果.php
  • ETC

这些是我将从中提取数据以加载到 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');

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

4

1 回答 1

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");
});
于 2014-06-22T18:34:21.383 回答