jQuery选择器以可能的文本内容为目标元素?

时间:2011-08-18 18:15:00

标签: jquery jquery-selectors

我希望点击事件触发任何具有“可编辑”类的元素,该类具有或可能具有(或传统上具有)文本内容:a,li,h1,h2,h3,p ..但不是视频,img和其他不直接包含文本的元素。

有没有办法在不引用特定的html元素的情况下执行此操作?或..如何从以下内容中排除特定的元素类型:

$(".editable").click(function(event) {
   alert("edit text!");
});

2 个答案:

答案 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