ラベルと 4 つの div を含む div があります。css と jQuery で 4 つの子 div に影響を与えたいが、ラベルには影響を与えないようにしたいので、次のように記述しました。
HTML:
<div class="score row-fluid">
<label class="span8">Text...</label>
<div class="span1"><img></div>
<div class="span1"><img></div>
<div class="span1"><img></div>
<div class="span1"><img></div>
</div>
CSS
.score > div {
cursor:pointer;
}
jQuery
$('> div', '.score').on('mouseenter', function() {
if($(this).not('.score-selected')) {
var $img = $(this).children('img');
var point = $img.attr('src').lastIndexOf('.');
var src = $img.attr('src').substring(0,point);
var newSrc = src + "-hover" + $img.attr('src').substring(point);
$img.attr('src', newSrc);
}
})
.on('mouseleave', function() {
if($(this).not('.score-selected')) {
var $img = $(this).children('img');
var point = $img.attr('src').lastIndexOf('.');
var point2 = $img.attr('src').lastIndexOf('-hover');
var src = $img.attr('src').substring(0,point2);
var newSrc = src + $img.attr('src').substring(point);
$img.attr('src', newSrc);
}
});
ただし、ラベルにはポインター カーソルがあり、mouseenter/leave JavaScript を起動します。
ここでフィドルを作成しましたが、興味深いことに、フィドルで JavaScript を起動していませんが、まだ css の影響を受けています。
このラベルが div であるかのように扱われる理由を知っている人はいますか?