Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery处理类(由jQuery生成)?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery处理类(由jQuery生成)?

Javascript 如何使用jQuery处理类(由jQuery生成)?,javascript,jquery,Javascript,Jquery,我是jQuery新手。这一次,我尝试使用jQuery制作一个双阶段效果 例如,当您单击单词时,它的颜色首先变为红色。当你再次点击它时,它的颜色变为蓝色 所以我使用了下面的代码,但效果不好 $(document).ready(function () { $("p#origin").click(function () { $(this).css("color", "red"); $(this).addClass("clicked"); }); $("p.clicked"

我是jQuery新手。这一次,我尝试使用jQuery制作一个双阶段效果

例如,当您单击单词时,它的颜色首先变为红色。当你再次点击它时,它的颜色变为蓝色

所以我使用了下面的代码,但效果不好

$(document).ready(function () {
  $("p#origin").click(function () {
    $(this).css("color", "red");
    $(this).addClass("clicked");
  });

  $("p.clicked").click(function () {
    $(this).css("color", "blue");
  });
});
你可以在网站上看到结果

我也试过这个

var toggle = 0;
console.log("toggle", toggle);

$(document).ready(function () {
  if (toggle == 0) {
    $("p#origin").click(function () {
      $(this).css("color", "red");
      toggle = 1;
      console.log("toggle:", toggle);
    });
  } else {
    $("p#origin").click(function () {
      $(this).css("color", "blue");
      toggle = 0;
      console.log("toggle", toggle);
    });
  }
});
可以看到上面的代码结果。变量
toggle
设置为1,但不起作用

我的问题表达得好吗。。。?我是新来的,所以我不知道javascript代码是如何加载的。(我也需要帮助来研究这个…)


我希望任何解决方案都能产生双重效果。(有人能修复我的上述两个代码以使其正常工作吗?

问题是您正在处理动态选择器,即您希望处理的事件根据选择器的动态评估而更改,在这种情况下,您需要使用

但在这种情况下,您不需要这样做,假设首先
p#origin
没有蓝色,您可以执行以下操作

$(文档).ready(函数(){
$(“p#原点”)。单击(函数(){
$(this.toggleClass(“已点击”).toggleClass(“未点击”),!$(this.hasClass(“已点击”);
});
});
#origin.unclicked{
颜色:蓝色;
}
#origin.clicked{
颜色:红色;
}

origin

只是一个想法,而不是使用
。class

循环样式数组(可以使用任意数量的样式/步骤)
var c=[“000”、“f00”、“蓝色”];
$(“#原点”)。单击(函数(){
c、 push(c.shift());//将第一个数组颜色放到最后一个位置
$(this.css({color:c[0]});//始终使用0键
});


单击以切换颜色

我只是简单地修改了您的一些JavaScript代码

var$origin;
$origin=$(“#origin”);
返回$origin.on('click',function()){
if($origin.hasClass('red')){
$origin.css('color','yellow');
$origin.addClass('yellow');
返回$origin.removeClass('red');
}否则{
$origin.css('color','red');
$origin.addClass('red');
返回$origin.removeClass('yellow');
}

});可能是Aww的副本,我正要发布这个。。。回答得不错。这个链接正是我需要的。你的补充回答对我的学习很有帮助。您如何设计double.toggleClass?谢谢你的回答。toggleClass的
方法允许链接,因此它返回你可以这样调用它们的值。谢谢,我检查了你的代码,效果很好!
return
能让这变魔术吗?没问题:-)祝你快乐~