如何动态地为多个ID分配数字?

时间:2012-06-08 10:23:58

标签: javascript jquery

这似乎是很长的做事方式,是否可以动态地为数字分配数字?

$(function () {
    $('#Button1').click(function(){
        $('#RegularExpressionValidator1, #RegularExpressionValidator2, #RequiredFieldValidator1, #RequiredFieldValidator2, #RequiredFieldValidator3, #RequiredFieldValidator4, #RequiredFieldValidator5, #RequiredFieldValidator6, #RequiredFieldValidator7, #RequiredFieldValidator8, #RequiredFieldValidator9').css("display", "block");
    });
}); 

这些是我无法访问的.NET生成的ID。

3 个答案:

答案 0 :(得分:5)

您可以使用“attribute starts with”选择器:

$("[id^='RegularExpressionValidator']").css("display", "block");

来自jQuery文档:

  

此选择器可用于识别生成的页面中的元素   由服务器端框架生成具有系统元素的HTML   标识。但是它会比使用类选择器更慢   如果可以的话,可以将类分组。

答案 1 :(得分:1)

查看attributes starts with选择器。使用它,您可以简单地执行此操作:

$(function () {
    $('#Button1').click(function(){
        $('[id^="RegularExpressionValidator"], [id^="RequiredFieldValidator"]').css("display", "block");
    });
}); 

这将选择ID为RegularExpressionValidator的所有元素。您可能希望指定元素类型,以及要查看的容器以选择较少的元素。

您可能还想使用$.show()代替$.css()

$('[id^="RegularExpressionValidator"], [id^="RequiredFieldValidator"]').show();

答案 2 :(得分:1)

尝试

$(function () {
    $('#Button1').click(function(){
        $('[id^="RegularExpressionValidator"], [id^="RequiredFieldValidator"]').css("display", "block");
    });
});