$('#<%= txtFirstName.ClientID%>').show();
尝试使用服务器标签将ClientId发送到外部Javascript文件 作为参数
<input type="text" ID="txtFirstName" runat="server" maxlength="50"
class="DefaultTextbox" style="width:180px;"
value="First Name"
onfocus="ControlOnFocus('First Name',$('#<%= txtFirstName.ClientID%>').show())"
onblur="ControlOnBlur('First Name')"/>
function ControlOnFocus(CompareString,ControlId)
{
alert(ControlId);
}
答案 0 :(得分:7)
$()
是主jQuery函数的简短别名,也称为jQuery()
。你传递一个CSS选择器,在CSS中,#
表示“带有ID的HTML元素......”。显然,该ID在此程序的ClientID变量中。然后,show()
调用会显示指定的HTML元素。
答案 1 :(得分:2)
您的脚本似乎使用jQuery。
$('#<%= txtFirstName.ClientID%>').show()
将返回包含属性id=<%=txtFirstName.ClientID%>
的元素的jQuery对象,而不是ClientID值。
我猜你的意思是:
<input type="text" ID="txtFirstName" runat="server" maxlength="50"
class="DefaultTextbox" style="width:180px;"
value="First Name"
onfocus="ControlOnFocus('First Name','<%= txtFirstName.ClientID%>')" // <= pass only the ClientID to your function
onblur="ControlOnBlur('First Name')"/>
function ControlOnFocus(CompareString,ControlId)
{
$('#'+ControlId).show(); // <= do the show action here, in your function
alert(ControlId);
}
答案 2 :(得分:1)
Bud,$是jquery或prototype等javascript框架的别名,#代表DOM的ID。就像CSS一样,这些框架允许您使用CSS语法选择元素(。用于类,#用于ID等)。 所以$(“#test”)的工作方式几乎与getElementById('test')
相同答案 3 :(得分:1)
jQuery语法总是以$开头,#表示函数show()将应用于提供了Id的元素。假设id是txtFirstName,那么写$('#txtFirstName')相当于经典Javascript中的document.getElementById('txtDirstName')。这将通过提供的id从文档对象模型(DOM)中选择元素。选择元素后,可以在该引用上执行不同的jQuery函数。 show函数使控件/元素可见。同样,您可以使用.hide()来隐藏元素。