0

JSオブジェクトを含むajaxを介してhtmlページをロードしています。新しくロードされた(子)ページ内のオブジェクトから親ページへの参照をどのように取得しますか?

親:

//parent.html

<script>

    function ParentObject() {
        this.children = new Array();
    }

    var aParentObject = new ParentObject();

    $.get('/url/to/child.html', function(data) {
        $("#child-div").html(data);
    });

</script>

子:

//child.html

<div>Some html element</div>

...

<script>
    function ChildObject() {
        this.someProperty = "I'm a Child";
    }

    var aChildObject = new ChildObject();
</script>
4

2 に答える 2

2

新しい変数を宣言するときはvarを使用する必要があります

var aChildObject = new ChildObject();

jscriptを含むhtmlを追加すると、スクリプトが実行され、その時点以降に参照が取得されます。したがって、子変数を挿入した後は、必ず子変数にアクセスする必要があります。

$.get('/url/to/child.html', function(data) {
    $("#child-div").html(data);
    //Access your child here
    alert(aParentObject.someProperty);
});
于 2012-05-25T09:04:45.903 に答える
0

.load()の代わりに使用することをお勧めします.get()。を使用.load()すると、「子」ページのセレクターを指定して、取得する特定のパーツをプルバックできます。

divchild.htmlが持っていると仮定するとid="child-div"

//parent.html

<script>

    function ParentObject() {
        this.children = new Array();
    }

    aParentObject = new ParentObject();

    $("#child-div").load('/url/to/child.html #child-div');

</script>

こちらの「ページフラグメントの読み込み」セクションをご覧ください: http: //api.jquery.com/load/

于 2012-05-25T09:11:22.617 に答える