5

親の内部iframeから内部に JQuery を使用しようとしています。.prependTo.class div

これには同じ .class が複数あります。**編集とiframe

すべてが同じドメインにあります。

そのため、メイン ドキュメント内から:

<div class="NewPHOTOS">
    **<!--PUT ME HERE!-->**
    <div class="LinePhoto">
        <a href="images/518279f07efd5.gif" target="_blank">
            <img src="images/thumb_518279f07efd5.gif" width="50" height="50">
        </a>
    </div>

   <iframe class="uploadLineID_55" width="800px" height="25px" src="../../uploads/uploadiframe.php" scrolling="no" seamless></iframe>
</div>

iframe 内のスクリプト:

$(document).on("click", '#TEST', function() {

  appendImagetoParent();

});


function appendImagetoParent()  {

var data = '<div class="LinePhoto"><a href="images/TEST.gif" target="_blank"><img src="images/thumb_TEST.gif" width="50" height="50"></a></div>';

$(".NewPHOTOS", window.parent.document).each(function() { $(data).prependTo($(".NewPHOTOS"));
});

/* $(data).prependTo( $(".NewPHOTOS", window.parent.document) ); This prepends to Every .NewPHOTOS */}

私は今、何時間もぐるぐる回ってググっています。私はこれを理解することはできません。

ここで何が間違っていますか?

私が使用した編集 、うまくいきます!

 $(parent.document).find('.' + frameElement.className )
                      .closest('.NewPHOTOS')
                      .prepend( data );
4

1 に答える 1

3
$(document).on("click", '#TEST', appendImagetoParent);

function appendImagetoParent()  {

    var div = $('<div />', {'class':'linePhoto'}),
        a   = $('<a />',   {href:'images/TEST.gif', target:'_blank'}),
        img = $('<img />', {src:'images/thumb_TEST.gif', width:'50', height:'50'});

    $(parent.document).find('.' + frameElement.className )
                      .closest('.NewPHOTOS')
                      .prepend( div.append( a.append(img) ) );
}

を含む iFrame のクラスを取得し、frameElement.classNameそのクラスを使用して親ドキュメントで適切な iFrame を見つけ、最も近い.NewPHOTOS要素を見つけて、より jQuery っぽい方法で作成されたコンテンツを先頭に追加します。

于 2013-05-02T15:40:21.710 に答える