Here就是一个例子。我想要获取光标所在的行和列以显示:hover属性。有没有办法在不需要javascript的情况下执行此操作?如果没有,jQuery中有一个简单的方法可以为任意数量的行/列进行此操作吗?
答案 0 :(得分:2)
不使用css,与css一样,只有一个元素悬停(来自重叠的非嵌套元素)。
jQuery可以提供帮助,但这不是一件容易的事。
粗略的实施将是
.row
和.col
类添加到元素中(视情况而定)<强> HTML 强>
<div id="container">
<div id="row1" class="row"></div>
<div id="row2" class="row"></div>
<div id="col1" class="col"></div>
<div id="col2" class="col"></div>
</div>
<强>的javascript 强>
$('.col, .row').bind('intersect',function(e){
var $me = $(this);
var pos = $me.offset();
var size = {w:$me.width(), h:$me.height()};
if ( e.pageX > pos.left && e.pageY > pos.top && e.pageX < pos.left + size.w && e.pageY < pos.top + size.h )
{
$me.addClass('hover');
}
else if ($me.is('.hover'))
{
$me.removeClass('hover');
}
});
$('#container').mousemove(function(e){
var evt = jQuery.Event('intersect');
evt.pageX = e.pageX;
evt.pageY = e.pageY;
$.event.trigger(evt);
});
答案 1 :(得分:1)
如果您正在使用桌子,通常可以这样做:
tr:hover > td {
background-color: yellow;
}
...但如果您有未嵌套的元素,则只会将其中一个视为:hover
。您必须使用JavaScript将悬停状态传播到位于下方的其他元素。
答案 2 :(得分:0)
我会使用jquery兄弟姐妹:
$("#row1").siblings("#row2").css(attr, value);
或者您可以使用.class或类似的东西。