如果将鼠标悬停在上面,我有以下代码可以突出显示任何元素:

$('*').hover(function() {
  $(this).addClass('over');
}, function() {
  $(this).removeClass('over');
});


问题在于我选择中的所有元素也会突出显示。看一下示例:JsFiddle尝试将鼠标悬停在span上,您会看到pbody/html也被突出显示。

为了只显示Im悬停的部分,我必须更改什么?

ps我必须使用*,因为我不知道这些属性是什么。

最佳答案

尝试这个:

$('*').hover(function(e) {
  $('*').removeClass('over');
  $(this).addClass('over');
  e.stopPropagation();

}, function() {
  $(this).parent().addClass('over');
  $(this).removeClass('over');
});


stopPropagation()防止悬停事件使DOM冒泡,因此,如果您的元素左对齐到正文,它将选择正确的元素(尝试从左上方输入以了解我的意思)。

请参见DEMO

关于jquery - 悬停指示选择与jQuery悬停事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15418904/

10-11 14:19