Следующий код выполняет .css({"background":"black"});
на всех элементах с class="hole"
, однако я пытаюсь заставить его сделать это на элементах с class="hole"
AND data-hole-key="[hole_key_variable]"
.jQuery selector madness
Что не хватает?
JQuery:
// on elements with class "hole" hovered
$('.hole').hover(
function(){
// get the data value of the currently hovered element
var holeKey = $($(this).data('holeKey'));
// on all elements with that class "hole" and specified data value, change bgcolor
$('.hole').data(holeKey).css({"background":"black"});
},
function(){
var holeKey = $($(this).data('holeKey'));
$('.hole').data(holeKey).removeAttr('style');
}
);
HTML:
<td class="hole" data-hole-key="1">text</td>
<td class="hole" data-hole-key="2">text</td>
<td class="hole" data-hole-key="3">text</td>
Кстати, почему это (неисправный) код не работает вообще без двойной обертки этой линии:
var holeKey = $($(this).data('holeKey'));
Вы пробовали совмещая селекторы, например, '$ ('. hole [data-hole-key]');'? – rjz