是否可以同时更改克隆和原始元素? - jQuery

Is it possible to change the clone and the original element at the same time? - jQuery

我有一个元素在 div 父元素中有一个克隆。我想单击 clone 并更改此克隆及其原始元素的 css。但与此同时,如果我首先单击 original 元素,我想更改原始元素及其克隆。

可以吗?

HTML

<div id="parent">
  <div class="hello">
  Hello
  </div>
</div>

CSS

.hello {
  width: 100px;
  height: 100px;
  color: #fff;
  background-color: #000;
  margin: 10px;
}

JAVASCRIPT

$('.hello').clone().appendTo('#parent');
$('.hello').on('click',function(){
    $(this).css('background-color','red');
});

这里是 jsfiddle:https://jsfiddle.net/vcyLkdas/

$('.hello').clone().appendTo('#parent');

$('.hello').on('click',function(){
 $(this).css('background-color','red');
});
.hello {
  width: 100px;
  height: 100px;
  color: #fff;
  background-color: #000;
  margin: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
<div class="hello">
Ciao
</div>
</div>

在您的处理程序中将 $(this) 替换为 $(".hello")

$(".hello").clone().appendTo("#parent");

$(".hello").on("click", function () {
  $(".hello").css("background-color", "red");
});
.hello {
  width: 100px;
  height: 100px;
  color: #fff;
  background-color: #000;
  margin: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="parent">
  <div class="hello">
    Ciao
  </div>
</div>

在jQuery点击事件中,"this"仅指被点击的元素,而不是class.hello的所有元素。因此,您需要将 "this" 更改为 ".hello" :

$('.hello').on('click',function(){
    $('.hello').css('background-color','red');
});