2

私は一般的にjavascriptとjQueryにかなり慣れていないので、このスクリプトに約3日間取り組んでいます。これに対する解決策を探しましたが、まだ見つけることができませんでした。私の検索スキルは最低だと思います。

そのため、複数のページから要素をロードし、それらを既存の DIV に追加しようとしています。たとえば、test.php というページがあります<div id="container">。他にも次のようなページが複数あります。

  • ピザ.php
  • pies.php
  • apples.php
  • オレンジ.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>

#about新しい DIV を作成した後、各ページから対応する DIVにロードしたいと考えています。これを each ループに追加することでできると思ったのですが、うまくいきません:

$( '"#' + 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 に答える