0

我正在尝试仅将列表中的选定项目添加到新列表中。例如,我只想将香蕉添加到我的第二个列表中,我的函数中的以下代码将 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 回答