是否有任何机会在某些元素上mouseover
(或任何其他)事件获取以下html
例如突出显示所有以前的单元格:
开始: class="selected"
,
完成:单元格
#if mouse pointer is on the cell #4
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="reg"></li>
<li id="6" class="reg"></li>
<li id="7" class="reg"></li>
<li id="8" class="reg"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
#if mouse pointer is on the cell #6
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="in_range"></li>
<li id="6" class="in_range"></li>
<li id="7" class="reg"></li>
<li id="8" class="reg"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
#if mouse pointer is on the cell #8
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="in_range"></li>
<li id="6" class="in_range"></li>
<li id="7" class="in_range"></li>
<li id="8" class="in_range"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
答案 0 :(得分:1)
正如你所说的所有以前的元素...
$("li").hover(function(){
$(this).prevAll().not(":first").addClass("in_range");
});
<强>更新强>
<强> WORKING FIDDLE 强>
使用.prevUntil()
查找以前的兄弟姐妹,直到您找到第一个兄弟姐妹。为此,您必须更改第一个<li>
的类名,就像我在UPDATED FIDDLE中所做的那样。
$("li").hover(function(){
$(this).prevUntil(".not").addClass("in_range");
});