0

リストの選択項目のみを新しいリストに追加しようとしています。たとえば、2 番目のリストにバナナのみを追加したい場合、関数内の次のコードは、coll-selected-list のすべての項目を coll-grouped-list に追加します。特定のアイテムのクローンのみを作成するにはどうすればよいですか? どんなヒントも素晴らしいでしょう。

jQuery:

$("#coll-selected-list li").clone().appendTo("#coll-grouped-list");

マークアップ:

<ul id="coll-selected-list" class="droptrue sort-drop ui-sortable">
      <li class="sorted">apple</li>
      <li class="sorted">pear</li>
      <li class="sorted">banana</li>
      <li class="sorted">grape</li>
      <li class="sorted">guava</li>
</ul>

<ul id="coll-grouped-list">
</ul>
4

3 に答える 3

0

複製するアイテムにカスタム データ属性と値を追加し、そのデータ属性と値を持つアイテムのみをターゲットにします。

例えば

<ul id="coll-selected-list" class="droptrue sort-drop ui-sortable">
      <li class="sorted">apple</li>
      <li class="sorted">pear</li>
      <li class="sorted" data-action="clone">banana</li>
      <li class="sorted">grape</li>
      <li class="sorted">guava</li>
</ul>

<ul id="coll-grouped-list">
</ul>

$('#coll-selected-list li[data-action="clone"]').clone().appendTo("#coll-grouped-list");

ワーキングデモ:

http://jsfiddle.net/QXEdn/

于 2012-07-04T13:36:10.307 に答える
0

クローンしたい要素にクラスを追加できます。

<ul id="coll-selected-list" class="droptrue sort-drop ui-sortable">
      <li class="sorted">apple</li>
      <li class="sorted">pear</li>
      <li class="sorted clone">banana</li>
      <li class="sorted">grape</li>
      <li class="sorted">guava</li>
</ul>

<ul id="coll-grouped-list">
</ul>

// get elements with clone class
$('#coll-selected-list li.clone]').clone().appendTo("#coll-grouped-list");

インデックスに基づいて要素を複製する場合は、:eqセレクターを使用できます。

// clone li containing bannana
$('#coll-selected-list li:eq(2)]').clone().appendTo("#coll-grouped-list"); 
于 2012-07-04T16:54:28.303 に答える
0

:containsセレクターを使用できます:

$("#coll-selected-list li:contains('banana')").clone().appendTo("#coll-grouped-list");

:contains渡す文字列は大文字と小文字が区別されることに注意してください。

これが実際のです。

于 2012-07-04T13:28:55.507 に答える