我希望点击事件触发任何具有“可编辑”类的元素,该类具有或可能具有(或传统上具有)文本内容:a,li,h1,h2,h3,p ..但不是视频,img和其他不直接包含文本的元素。
有没有办法在不引用特定的html元素的情况下执行此操作?或..如何从以下内容中排除特定的元素类型:
$(".editable").click(function(event) {
alert("edit text!");
});
答案 0 :(得分:1)
我怀疑是否有预定义的选择器只会选择这些元素 至于排除,你可以使用not()函数:
$(".editable").not("video").not("img")
.click(function(event) {
alert("edit text!");
});
这是文档: http://api.jquery.com/not/
编辑:这样调用函数可能会更有效率:
$(".editable").not("video,img")
.click(function(event) {
alert("edit text!");
});
答案 1 :(得分:0)
您可以使用非选择器或功能排除。
<强>选择强>
$('.editable:not(video, img)').click(function(e){
});
<强>功能强>
$('.editable').not('video, img').click(function(e){
});
<强> JSFiddle with Example 强>