Как добавить функцию на два элемента jQuery?
<body>
<div class="container">
<div class="row">
<div class="color1"></div>
<div class="color2"></div>
<div class="color3"></div>
<div class="color4"></div>
</div>
<div class="row">
<div class="color5"></div>
<div class="color3"></div>
<div class="color1"></div>
<div class="color6"></div>
</div>
<div class="row">
<div class="color7"></div>
<div class="color6"></div>
<div class="color8"></div>
<div class="color5"></div>
</div>
<div class="row">
<div class="color7"></div>
<div class="color8"></div>
<div class="color4"></div>
<div class="color2"></div>
</div>
</div>
</body>
var firstclick
var secondclick
var firstclick = $(e.target).css('background-color')
if(secondclick != null){
secondclick = $(e.target).css('background-color')
}
else if(firstclick==secondclick){
$("**те две div на которых кликали**").css("display", "none")
}
Я пытаюсь создать игру память, только вместо картинок на картах будут рандомные цвета.
var r1=Math.floor(Math.random()*255)
var g1=Math.floor(Math.random()*255)
var b1=Math.floor(Math.random()*255)
$(".color1").click(function (){
$(this).css("background", "rgb(" + r1 + "," + g1 + "," + b1 + ")")
})
Но не могу понять, что нужно писать чтобы дать display none тем ДВУХ div ом которые были заранее нажаты.
Ответы (1 шт):
Автор решения: Vasily
→ Ссылка
Как я понял Вы хотите скрывать элементы на которые кликнул пользователь, в этом случае стоит завести отдельную константу - массив:
const $array = []
И после каждого целевого клика заносить в нее элемент по которому пришелся клик:
//... внутри eventListner'a
$array.push(event.target)
в момент когда Вы посчитали что результат получен:
$array.css("display", "none")
// опциональная очистка массива $array = []
Если же Ваш вопрос просто о том как применить одно действие к нескольким элементам одновременно, то для этого можно воспользоваться методом .add():
const $one = $(".class-one")
const $two = $(".class-two")
const $combined = $one.add($two)
UPDATED:
let $firstClick
let $secondClick
$firstClick = $(event.target).css("background-color", "")
if ($secondClick !== null) {
$secondClick = $(event.target).css("background-color", "")
} else if ($firstClick === $secondClick) {
$firstClick.add($secondClick).css("display", "none")
}