onclick with change javascript/JQuery

onclick with change javascript/JQuery,javascript,jquery,onclick,onchange,Javascript,Jquery,Onclick,Onchange,我有一些关于onclick和change的问题。你能解释一下,当我想点击我的每一个div时,我应该如何处理我的代码来打印一个onclick而不是一个接一个地总结。我的意思是我只想有一个绿色(在图像上)的tile,并改变而不是总结 for(let i=0; i<woeid.length; i++){ $( ".aClick"+i ).click(function() { $( "#aClick"+i ).toggle( "slow", function(){ }); }); };

我有一些关于onclick和change的问题。你能解释一下,当我想点击我的每一个div时,我应该如何处理我的代码来打印一个onclick而不是一个接一个地总结。我的意思是我只想有一个绿色(在图像上)的tile,并改变而不是总结

for(let i=0; i<woeid.length; i++){
 $( ".aClick"+i ).click(function() {
  $( "#aClick"+i ).toggle( "slow", function(){
  });
 });
};

for(让i=0;i我通常通过CSS类和jQuery的组合来实现这一点

$("div[class^='aClick']").click(function(e){
    //remove all the visible green stuff
    $(".moreWeather.afterClick").removeClass("afterClick");
    //add the one back you want, you can use $(this) to reference the DIV you clicked.
});

如果您愿意,您可以设置添加或删除css类的动画,但以最简单的形式,在没有附加信息的情况下,这是我可以为您指出的最佳方向。

我通常使用css类和jQuery的组合来实现这一点

$("div[class^='aClick']").click(function(e){
    //remove all the visible green stuff
    $(".moreWeather.afterClick").removeClass("afterClick");
    //add the one back you want, you can use $(this) to reference the DIV you clicked.
});

如果您愿意,您可以设置添加或删除css类的动画,但以最简单的形式,在没有其他信息的情况下,这是我可以为您指出的最佳方向。

我看到了一些可能有帮助的选项:

使用startWith选择器,然后将类名解析为

$('[class^=aClick]')
或者使用一个具有数据目标属性的通用aClick类来告诉您要切换哪个div。您的代码如下所示:

<div class="col-sm-2">
    <div  id="backgroundImage0" class="inner-container aClick" data-target="aClick0">
        <p id="weather0"></p><img id="image0">
    </div>
</div>
<div class="col-sm-2">
    <div  id="backgroundImage1" class="inner-container aClick" data-target="aClick1"><p id="weather1"></p><img id="image1">
    </div>
</div>
jddle:


编辑:很抱歉误解了这个问题,我修改了脚本,在单击目标div时实际隐藏了其他div,同时使用jquery选择器startsWith(^=)和:not()

我看到了一些可能有用的选项:

使用startWith选择器,然后将类名解析为

$('[class^=aClick]')
或者使用一个具有数据目标属性的通用aClick类来告诉您要切换哪个div。您的代码如下所示:

<div class="col-sm-2">
    <div  id="backgroundImage0" class="inner-container aClick" data-target="aClick0">
        <p id="weather0"></p><img id="image0">
    </div>
</div>
<div class="col-sm-2">
    <div  id="backgroundImage1" class="inner-container aClick" data-target="aClick1"><p id="weather1"></p><img id="image1">
    </div>
</div>
jddle:


编辑:很抱歉误解了这个问题,我修改了脚本,在单击目标div时,使用jquery选择器startsWith(^=)和:not()总之

几行HTML将更好地帮助回答这个问题。从外观上看,您的HTML可以被修改以使您所做的事情更加简单。我现在可以告诉您,如果您正确使用HTML类,那么for循环就不必这样做。我建议包括所有相关代码并生成一个最小值所有完整且可验证的示例我不确定我是否理解这个问题。在提供的代码中,你在哪里求和了。你是对的,我没有求和任何东西。也许我的问题是错的。我的问题是,无论我做什么,我都希望始终只有1条绿色领带。我的意思是,当我点击华沙程序时,我们下一步将打印5条这几天只在华沙,但我会在华沙,然后在巴黎,然后在未来5天只在巴黎等。相反,它现在打印华沙和巴黎紧挨着彼此。你可以在那张图片上看到。几行HTML将更好地帮助回答这个问题。从它的外观来看,你的HTML可以修改,使你正在做的事情更多h更简单。我现在可以告诉你,如果你正确地使用html类,那么for循环就没有必要这样做。我建议包括所有相关的代码,并生成一个最小的完整和可验证的示例。我不确定我是否理解这个问题。在提供的代码中,没有任何地方可以求和。你是对的,我不是总结任何东西。也许我的问题是错的。我的问题是,无论我做什么,我都只希望一直只有一条绿色领带。我的意思是,当我点击华沙时,程序将在下一个天气日只为华沙打印5条,但当我点击华沙时,然后在巴黎,然后在下一个5天只为巴黎,等等。而不是现在就打印华沙和巴黎巴黎紧挨着一个。你可以在那张图片上看到。我的意思是你可以有两条红色领带。我只需要一条。当我点击weather0时,它会打印更多的weather0,但是如果我点击weather0,那么weather1更多的weather0表单weather1会变成更多的weather1,而不是其中的两条。是的,我先搞错了,但我刚刚用s更新了我的答案隐藏其他div an的解决方案显示的正是您想要的。这应该是实现您自己的解决方案的良好基础,希望如此。非常感谢!它现在工作正常。我的意思是,您可以有两个红色领带。我只需要一个。当我单击weather0时,它会打印更多weather0,但如果我单击weather0,则weather1 moreWeather0表单weather1将变为moreWeather1,而不是其中的2个。是的,我首先弄错了,但我刚刚用一个解决方案更新了我的答案,该解决方案隐藏了其他div,并显示了您想要的div。这应该是实现您自己的解决方案的良好基础,希望如此。非常感谢!它现在正在正确工作。