2012-02-17 15 views
1

jqueryはこれをかなり簡単に行うことができますが、replaceWith、フィルタ、HTML、テキスト、クローンなどを使用する必要があるかどうかは少し混乱します。 !jqueryオブジェクトを取得し、その中のdom要素を操作する方法

ここは私がやっていることです。 jqueryのUIタブを使用しています。新しいタブを作成するたびに、DOMの別の場所からHTMLを使用する必要がありますが、新しいタブに使用する前に少し変更してください。だから、次のようになります。

_$chatTabs = $("#dvChatManager").tabs({ 
    selected: 0, 
    tabTemplate: "<li><a href='#{href}'>#{label}</a> <span style=\"position:absolute;right:0px;\" class='ui-icon ui-icon-close'>Remove Tab</span></li>", 
    add: function (event, ui){ 
     var html = $('.dvChatBoxWrapper', $('#dvChat-' + _activeGID)).clone(); 
     $(ui.panel).append(html); 
     initTabs(); 
    } 
}); 

だから「追加」の部分には、あなたは私が別のdivのクローンを作成し、パネルに追加していることがわかります。しかし、パネルに追加する前に、変数html内のいくつかのdivをクリアし、おそらく他のhtmlを変更する必要があります。私は、最善のアプローチについて少し混乱しています。また、domの他のdivをテンプレートとして使用する別の方法も公開しています。

+0

を。 '.divChatBoxWrapper'の中身は何ですか?アプリケーションによっては、毎回クローンを作成するキャッシュされた基本要素を持つ方が良いかもしれません。 –

答えて

1

まず、jqueryオブジェクト名の前に$記号を付けることをお勧めします。そのため、それらを追跡するのが簡単です。 :)

あなたはfind()を経由して、あなたの現在のjQueryオブジェクト内の要素にアクセスし、必要にそれらを操作することができます:不完全な質問をだ

var $html = $('.dvChatBoxWrapper', $('#dvChat-' + _activeGID)).clone(); 
$html.find('.someDiv').remove(); 
$html.find('.someOtherDiv').html('new content'); 
..etc.. 
+0

のように、私たちはjqueryで変数をラップし、必要に応じてチェーンとキャッシュを使用することもできます。すなわち – Vivek

関連する問題