0

jqueryでプラグインを作成したい。

これは私のhtmlコードです:

<div class="popup">
  <div class="bc_top">
    <div class="bc_tl"></div>
    <div class="bc_tm"></div>
    <div class="bc_tr"></div>
  </div>
  <div class="bc_middle">
    <div class="bc_ml">
      <div class="bc_mr">
        <div class="bc_cnt">




        </div>
      </div>
    </div>
  </div>
  <div class="bc_bottom">
    <div class="bc_bl"></div>
    <div class="bc_bm"></div>
    <div class="bc_br"></div>
  </div>
</div>

タグの周りに上記のコードを挿入したいのですが、タグのhtmlコンテンツをdiv.bc_cntに挿入する必要があるため、jQueryプラグインを作成します。

$.fn.popup = function() {
    $(this).before('<div class="popup">\
                      <div class="bc_top">\
                        <div class="bc_tl"></div>\
                        <div class="bc_tm"></div>\
                        <div class="bc_tr"></div>\
                      </div>\
                      <div class="bc_middle">\
                        <div class="bc_ml">\
                          <div class="bc_mr">\
                            <div class="bc_cnt">'+$(this).html()+'</div>\
                          </div>\
                        </div>\
                      </div>\
                      <div class="bc_bottom">\
                        <div class="bc_bl"></div>\
                        <div class="bc_bm"></div>\
                        <div class="bc_br"></div>\
                      </div>\
                    </div>');   

}

そして私はこのように使用します:

<scritp>
    $('div#pop').popup();
</script>


    <div id="pop">
        this is a test
    </div>

すべてOKですが、このコードは選択したタグのhtmlコンテンツのみを$(this).html()でポップアップに挿入します。ポップアップに完全なタグを挿入したい(つまり<div id="pop">this is a test</div>

私は何をすべきか?

PS:私の悪い英語でごめんなさい。

4

2 に答える 2

0

orig要素のクローンを作成し、それをtemp divに追加して、divのhtmlを取得できます。下記参照、

$('<div>').append($(this).clone()).html()

デモ

オリジナルを削除したい場合.removeは、関数の最後に次のように使用できます$(this).remove()

于 2012-04-16T20:24:41.453 に答える
0

$(this).text() を試す必要があります

于 2012-04-16T20:16:52.253 に答える