Javascript 更改jQuery的值';事件中的s$(此)对象

Javascript 更改jQuery的值';事件中的s$(此)对象,javascript,jquery,html,css,this,Javascript,Jquery,Html,Css,This,我想先单击一个图像(img#first),然后将其拆分为另一个图像的三个较小版本(img.cat)。每次单击img.cat,它都会随机抛出克隆的元素,并临时显示一只狮子来代替单击的img.cat cat复制和lion弹出窗口都能正常工作(通过单击左上角的小猫可以看到),但我不知道如何将其设置为。img上的click()事件首先将调用复制小猫的函数。重申一下,我希望img#首先生成3个较小的img.cat,然后消失,如果用户继续单击新建img.cat对象,它们会继续生成更多的对象。问题在于让原始的

我想先单击一个图像(
img#first
),然后将其拆分为另一个图像的三个较小版本(
img.cat
)。每次单击
img.cat
,它都会随机抛出克隆的元素,并临时显示一只狮子来代替单击的
img.cat

cat复制和lion弹出窗口都能正常工作(通过单击左上角的小猫可以看到),但我不知道如何将其设置为。img上的click()事件首先将调用复制小猫的函数。重申一下,我希望
img#首先
生成3个较小的
img.cat
,然后消失,如果用户继续单击新建
img.cat
对象,它们会继续生成更多的对象。问题在于让原始的img首先引发连锁反应,然后永远消失

这是我的建议

如果我能够让整个
。单击(分解)
函数首先在
img上工作#
,然后在初次单击后以某种方式将该标识符交换到
img.cat
,这难道不管用吗

例如:

var firstRun = 0
$('img#first').click(function() {
    if (!firstRun) {
        //do original stuff here
        firstRun = 1;
    } else {
        $(this) = $('img.cat');
        //do img.cat stuff here
    }
});
或者我是否需要隔离explode函数,以便在两个不同对象上分别调用它,同时实现相同的效果


老实说,我不知道如何着手完成这两项任务。也许有一个更简单的方法来获得我想要的。

更新你的
$('img.cat')。单击(
事件侦听器的选择器到
$('img.cat,img#first)
选择两个
img.cat
img#first
。使用这个新的事件侦听器,您可以删除第一个
$('img#first')。单击()。请参阅我的更新。

添加一个单独的事件,该事件仅在单击
#首先
时触发,该事件通过编程方式触发单击
img.cat
然后像这样移除自身:

$('#first').click(function() {
    $("img.cat").trigger("click");
    $(this).remove();
});

.

你的小提琴似乎适合我。我首先点击
img#
,3只较小的猫科动物产卵了,它变成了一只狮子,狮子消失了。我可以继续点击较小的
img.cat
,同样的事件序列也会发生。我遗漏了什么?在Javascript中不能像分配变量一样重新分配
this
的值,因此不能更改jQuery中
$(this)
表示的内容。一个旁注:
$('first')
是比
$('img#first')
@SamSullivan更理想的选择器,您正在单击img.cat。首先单击img不会产生任何效果。我希望它开始整个过程(最初隐藏img.cat)。基本上,将img.cat的全部功能点击并应用到不同的第一张图像上,然后恢复正常。@winterblood感谢您提供的提示:选择器。我会研究这背后的逻辑。很接近,但这只是创造了两组不同的猫。我只希望img首先可以点击一次,然后永远消失。这是我第一次尝试我非常感谢你的帮助,这正是我想要的功能。谢谢你,先生。