2012-06-08 34 views
0

這似乎是很長的做事方式,是否可以動態地將數字分配給id?如何將數字動態分配給多個ID?

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

這些是.NET生成的ID,我無法訪問。

回答

1

看看attributes starts with選擇器。利用它,你可以簡單地這樣做:

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

這將選擇開始RegularExpressionValidator一個ID的所有元素。您可能需要指定元素類型以及要查找的容器以選擇較少的元素。

您可能還需要使用$.show(),而不是$.css()

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

可以使用一個「attribute starts with」選擇:

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

從jQuery文檔:

由產生服務器端框架產生 這個選擇可以是用於識別在頁面元素是有用帶有系統元素的HTML ID。然而,它會比使用類選擇器慢,因此儘可能利用 類來分組類似的元素。

1

嘗試

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