代码之家  ›  专栏  ›  技术社区  ›  Ocelot20

jquery:包含一些文本但不包含其他文本的选择器

  •  3
  • Ocelot20  · 技术社区  · 14 年前

    很抱歉,如果这个问题很容易回答,但我对jquery有点陌生,而且我的截止日期很紧。

    我正在寻找具有以下格式的文本框元素的选择器:

    id = "FixedName_#"
    

    “fixedname”将始终是“fixedname”,但我只想找到为正的元素。所以我想找“fixedname_1”和“fixedname_2”,但是跳过“fixedname_1”和“fixedname_2”。

    谢谢!

    更新 最后出现了这样的情况(修改了此处显示的实际代码,因此不确定是否如图所示工作):

    $("input[id*='FixedName_']").each(function() {
        if ($(this).attr("id").charAt(10) == "-") {
            //Do something.
        } else{
            //Do something else.
        }
    });
    
    6 回复  |  直到 14 年前
        1
  •  2
  •   Kevin Tighe    14 年前

    我不确定你能不能用一个选择器。我要做的是选择所有i d以fixedname开头的元素,如下所示:

    $("[id|=FixedName_#]")
    

    然后,可以循环查看结果并检查之后的值。

    编辑:请尝试:

    $("[id^=FixedName_#]").each(function(){
    
    var controlNum = parseInt(this.id.replace('FixedName_#',''));
      if (controlNum >= 0){
        //......
      }
    });
    
        2
  •  1
  •   Adriaan Stander    14 年前

    这可能有帮助

    Regex Selector for jQuery

        3
  •  1
  •   John Calsbeek    14 年前

    添加后 this attribute selector ,您可以执行以下操作:

    $("*:regex(id, ^FixedName_\\d+$)")
    

    也将与fixedname匹配。

        4
  •  1
  •   Ali Habibzadeh    14 年前

    这存储了其id不包含-sign的元素

    var elems = $('input:not([id*=-])');
    
    alert(elems.size());
    
        5
  •  0
  •   Aaron McAdam    14 年前

    您可以尝试添加一个“fixedname”类,然后添加数字的rel,这样您就可以使用:if($('.fixedname').attr('rel')>0){…}

        6
  •  0
  •   DShultz    14 年前

    生成文本框的代码是否有可能根据id值设置class=“positive/negative”之类的类属性?要能够选择$('.positive')…