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

时间:2010-04-14 17:11:32

标签: jquery jquery-selectors css-selectors

很抱歉,如果这个问题很容易回答,但我对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 个答案:

答案 0 :(得分:2)

我不确定你能用一个选择器做到这一点。我要做的是选择所有具有以FixedName_开头的ID的元素,如下所示:

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

然后你可以遍历结果并检查#。

之后的值

编辑:试试这个:

$("[id^=FixedName_#]").each(function(){

var controlNum = parseInt(this.id.replace('FixedName_#',''));
  if (controlNum >= 0){
    //......
  }
});

答案 1 :(得分:1)

这可能会有所帮助

Regex Selector for jQuery

答案 2 :(得分:1)

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

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

也会匹配FixedName_0。

答案 3 :(得分:1)

这存储了他们的id不包含 - 符号

的元素
var elems = $('input:not([id*=-])');

alert(elems.size());

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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