jquery伪元素不起作用

时间:2018-04-16 04:17:35

标签: jquery

我有一个jquery ui sortable ul,我想在移动它们时更改列表项的背景。

为什么这是合法的:

$("#L" + i).css('background-color', "#DCC9FF");

但这“有效”,但在移动后,悬停消失后背景颜色保持蓝色 evan:

$("#L" + i +":hover").css('background-color', "blue");

有解决办法吗?

1 个答案:

答案 0 :(得分:3)

您是否有特殊原因要使用 js 来应用悬停效果?如果是这样,请考虑第二种方法。

<强>第一

&#13;
&#13;
ul li {
  background-color: red
}

ul li:hover {
  background-color: blue
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul>
  <li class="ui-state-default" id="L1"><input type="text" name="N1" id="I1" disabled class="automplete-2" /></li>
  <li class="ui-state-default" id="L2"><input type="text" name="N1" id="I2" disabled class="automplete-2" /></li>
  <li class="ui-state-default" id="L3"><input type="text" name="N1" id="I3" disabled class="automplete-2" /></li>
</ul>
&#13;
&#13;
&#13;

<强> SECOND

&#13;
&#13;
$('ul li').css('background-color', 'red');

$('ul li').hover(function() {
  $(this).css('background-color', 'blue');
}, function() {
  $(this).css('background-color', 'red');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul>
  <li class="ui-state-default" id="L1"><input type="text" name="N1" id="I1" disabled class="automplete-2" /></li>
  <li class="ui-state-default" id="L2"><input type="text" name="N1" id="I2" disabled class="automplete-2" /></li>
  <li class="ui-state-default" id="L3"><input type="text" name="N1" id="I3" disabled class="automplete-2" /></li>
</ul>
&#13;
&#13;
&#13;