我需要能够悬停元素但不是全部。在这种情况下,我尝试了所有但不是表。
$(".modal-content *:not("table")").on("mouseenter", function() {...
更新
我有一个错字,接受答案。
答案 0 :(得分:1)
引号出错。试试这个。
$(".modal-content *:not(table)").on("mouseenter", function() {...
答案 1 :(得分:1)
您不需要围绕“表格”这个词的引号。根本......选择器应该是:
.modal-content *:not(table)
就这么清楚,选择器意味着"所有元素都是一个元素的后代,其className为' .modal-content'但不是表格元素。
P.S。 - 如果你只是为元素添加视觉效果,你应该使用纯CSS而不是jQuery。例如,要在悬停时将元素变为红色:
.modal-content *:not(table):hover {
background-color: red;
}
答案 2 :(得分: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/