首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery克隆多个实例的原因

jquery克隆多个实例的原因
EN

Stack Overflow用户
提问于 2010-06-24 22:51:12
回答 2查看 4.8K关注 0票数 2

希望可以提供帮助,尝试Jquery克隆似乎是有效的,但我得到了“多个”克隆,而不是单个克隆“按下”按钮。

例如:我想克隆这个:

代码语言:javascript
复制
echo '<select class="hello">';
    foreach ($pageposts as $post):
    echo '<option>'.$post->post_title.'</option>';
    endforeach;
    echo '</select>';

点击此按钮

代码语言:javascript
复制
echo '<input type="button" id="rp" value="add">';

来自WordPress的Yes和来自JQuery页面的Yes

我的JQuery函数是:

代码语言:javascript
复制
$j=jQuery.noConflict();
$j(document).ready(function() {
$j('#rp').click(function(){ 
$j('.hello').clone().appendTo('#goodbye');
});
});

所以我的“总体代码片段”看起来是这样的:

代码语言:javascript
复制
echo '<select class="hello">';
foreach ($pageposts as $post):
echo '<option>'.$post->post_title.'</option>';
endforeach;
echo '</select>';
echo '<div id="goodbye"></div>';
echo '<input type="button" id="rp" value="add">';

我在第一次按下时克隆了“一次”,但随后它又出现了多次,即:

单击1次即可获得1个克隆加1个原件-我想要的

点击2次可得到3个克隆加1个原创--这不是我想要的,我想要1个原创加2个

3点击给出7个克隆加1个原创-不是我想要的,我想要1个原创加3个等等。

请给我一些建议。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-24 22:54:38

这是因为您的选择器正在寻找一个类:

代码语言:javascript
复制
$j('.hello')

每次克隆这个元素并将其附加到另一个元素时,您就添加了另一个.hello元素,因此您克隆了它能找到的每个.hello元素。

也许您应该在克隆类名时将其删除:

代码语言:javascript
复制
$j('.hello').clone().removeClass('hello').appendTo('#goodbye');

或者甚至可以改变它:

代码语言:javascript
复制
$j('.hello').clone().removeClass('hello').addClass('cloned_hello').appendTo('#goodbye');

您可能想要添加一个不同的类,以便您的CSS仍然可以工作,但最终这就是为什么您会获得多个克隆项的原因。

票数 6
EN

Stack Overflow用户

发布于 2010-06-24 22:57:59

这种行为是正常的,因为您克隆了其中包含hello类的每个元素。

试试这个:

代码语言:javascript
复制
$j('.hello').clone().attr("class","cloned").appendTo('#goodbye');

在.cloned中和在.hello中一样放入css。

希望它能有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3111101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档