问题
How do I get the ID of a server control with jQuery?
E.g. I have
<asp:Label ID="label1" runat="server""></asp:Label>
and now I want to get "label1",
var id = ??
回答1:
If you use ASP.NET 4.0 you can set attribute ClientIDMode="Static" and your code will looks following way:
<asp:Label ID="label1" runat="server" ClientIDMode="Static"></asp:Label>
js:
var id = 'label1';
回答2:
var labelID = $('#<%= label1.ClientID %>');
You need to get the client ID.
If you just need the ID, and not the actual value of the control, then you don't even need jQuery.
var labelID = '<%= label1.ClientID %>';
回答3:
var $lblObj = $("label[id$='label1']:first")
回答4:
jQuery runs on the client side so would only be able to access the ID of the html element rather than the asp control on the server.
回答5:
Are you using master page. If yes give ContentPlaceHolderID along with control id.
Eg:
jQuery("#ContentPlaceHolderID_ControlId").val;
jQuery("#body_label1").text;
You can see this in Viewsource
回答6:
Labels render as span tags. So if you want to select all the Labels:
$(document).ready(function()
{
$Labels = $("span");
$Labels.each(function()
{
alert(this.id);
});
});
来源:https://stackoverflow.com/questions/5666011/retrieve-id-of-server-control-using-jquery