【问题标题】:Problem with jquery :not selectorjquery的问题:不是选择器
【发布时间】:2010-10-09 16:58:27
【问题描述】:

我在尝试不使用该函数选择表行时遇到问题:

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

基本上,它会查找所有表格行并添加单击功能,该功能将打开一个编辑模式,该模式具有一行文本框,其中填充了表格单元格中的信息。问题是模式中的 tablerow 也获得了功能,所以当用户去编辑文本框中的值时,所有值都消失了......

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

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

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

我也尝试过尝试第二个表,然后不选择它的表行,但这些表不是彼此相邻的,我的例子是......不,我没有尝试过表 [1] tr yet(现在我想起来了)...

请帮忙...我要疯了才想办法解决这个问题..

谢谢!!!!!!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    我从未使用过 ':not' 语法,但以下内容应该可以满足您在此示例中所需要的内容:

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

    【讨论】:

      【解决方案2】:

      语法是$("tr:not(.trEdit)")$("tr :not(.trEdit)") - 取决于 trEdit 类是应用于 tr 还是子元素。

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          你能这样实现吗?这会让你的意图更加清晰。

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

          【讨论】:

          • 明白了....也很有意义!我显然是一个 jquery 新手,但我喜欢它!再次感谢!!!
          • 我刚刚稍微编辑了我的评论,因为其中的一部分是不必要的。但它仍然做同样的事情。
          猜你喜欢
          • 1970-01-01
          • 2010-10-09
          • 1970-01-01
          • 2011-04-04
          • 2011-10-31
          • 2010-12-01
          • 2010-11-25
          相关资源
          最近更新 更多