sui*_*ish 5 html javascript css jquery
我正在寻找一种方法来选择除一个元素及其后代之外的所有元素,这些元素可能有子/孙子甚至更多.我真正想做的是......
$("*").not(".foo, .foo *").bind("touchmove",function(e){
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
这将禁用touchmove除fooclass及其子项之外的所有事件.但不幸的是,我不知道它会有多少代,因为我要编写的代码将被用于很多模板文件中,因此它们可能根本没有孩子,或者他们可能有10代家庭.
有没有办法实现这个?除了制作新的dev/span以包装其他所有人,而不是我不想选择的那个.(这个解决方案需要很长时间才能出于某种原因.)
任何建议或建议将不胜感激.
您的代码完全符合您的要求:
你尝试过吗?我用悬停做了一个小例子,使其可见+我只选择了 div 和 p 以使它更容易,但它也适用于所有元素。
$("div,p").not(".foo, .foo *").hover(function(){
$(this).css("background", "#70A5C9");
},function(){
$(this).css("background", "#ffffff");
});
Run Code Online (Sandbox Code Playgroud)
它之所以有效,是因为每个后代都继承了其祖先的类。在我的示例中,您可以看到最深的 div 将包含所有 fooX 类(1 < X < 6)。
看另一个可见的例子,一旦我给 foo3 一个新的背景颜色,所有内部 foo 将具有相同的背景颜色。
| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |