2016-11-10 56 views
-1

我需要能够悬停元素,但不是全部。在这种情况下,我尝试了所有,但不是桌子。如何悬停所有元素,但避免一些?

$(".modal-content *:not("table")").on("mouseenter", function() {... 

UPDATE

我有一个错字,接受了答案。

+0

你应该会看到一个错误在你的**开发工具控制台**因为这不是有效的JavaScript语法。 ..至少有两个字符串分隔符......'''和'“'...明智地使用它们 - 虽然在这种情况下,您可能只是使用了字符串分隔符,在第一个地方它们不是必需的 –

回答

1

引用标记时出现错误。尝试这个。

$(".modal-content *:not(table)").on("mouseenter", function() {... 
+0

非常感谢。任何关于如何说“只有我徘徊的特定元素”的想法? - ) –

+0

你可以在'$('html')。hover(function(){console.log(this)});'这个语句中使用这个语句。检查[this](https://jsfiddle.net/7nr2odyh/)小提琴。 –

+0

由于某些原因,它首先突出显示具有相同标记的元素,我甚至试过$(“。modal-body”)。children()。on(“mouseenter”,function(){ –

1

你并不需要在所有的词“表”引号包围....的选择应该是:

.modal-content *:not(table) 

正是这样很明显,这意味着选择“是后人的所有元素如果你只是添加视觉效果元素,你应该使用纯粹的CSS而不是jQuery。例如,要转动元素,使用纯CSS,而不是jQuery。红色悬停:

.modal-content *:not(table):hover { 
    background-color: red; 
} 
+0

谢谢,我知道css,但是我由于其他原因,在我的具体情况下需要js –

0

这里亚去(变成红色悬停):

$('.modal-content') 
    .on('mouseenter', '*:not(table,table *)', function (e) { 
    $(this).css({ backgroundColor: 'red' }) 
    }) 
    .on('mouseleave', '*:not(table,table *)', function (e) { 
    $(this).css({ backgroundColor: 'initial' }) 
    }); 

的jsfiddle:https://jsfiddle.net/o9nj2saf/1/