jquery的问题:不是选择器

时间:2009-02-24 23:37:37

标签: javascript jquery

我在尝试不选择具有该功能的tablerow时遇到问题:

$("tr").click(function(e) {
 var row = jQuery(this)
//rest of code left off 
});

基本上它会找到所有的tablerows并添加点击功能,这些功能将打开一个编辑模式,该模式的行包含文本框,这些文本框中填充了来自tablecells的信息。问题是模态中的tablerow也获得了功能,因此当用户在文本框中编辑值时,所有值都会消失...

所以我一直在尝试和失败的是使用以下几种方式过滤tr:

$("tr").not('trEdit').click(function(e) {
            var row = jQuery(this) 

$("tr not:'trEdit').click(function(e) {
            var row = jQuery(this) 

我还试过尝试第二张桌子,然后不选择它的桌子行,但桌子并不是彼此相邻的。我的例子是......不,我还没有尝试过表[1] tr(现在我考虑过了)......

请帮忙......我很想解决这个问题..

感谢!!!!!

4 个答案:

答案 0 :(得分:3)

语法为$("tr:not(.trEdit)")$("tr :not(.trEdit)") - 取决于trEdit类是否适用于tr或子元素。

但是,我认为您的问题可能与事件冒泡有关 - 您必须搜索有关详细信息,或等待其他人延长答案,因为我必须去现在

答案 1 :(得分:1)

您的问题是 not 过滤器中的“trEdit”应该是“.trEdit”或“#trEdit”,具体取决于您的意图(请注意点和哈希)

答案 2 :(得分:0)

我从未使用':not'语法,但以下内容应该为您提供此示例所需的内容:

$("tr[id!='trEdit']").click(function(e) {
    var row = jQuery(this)

答案 3 :(得分:0)

你能用这种方式实现吗?它会让你的意图更加清晰。

$("#theClickableTable tr").click(function() {
    ...
})