我对jQuery还是很陌生的!在我的旧网站上测试它,以测试它的功能。我甚至连一个简单的jQuery脚本都不能运行,这太尴尬了。请帮帮我!
由于某些原因,我不能让jQuery选择器根据id查找元素。下面是代码
$(document).ready(function () {
if (jQuery) {
alert("jQuery working");
} else {
alert("jQuery not working");
}
$('#TextBox4').keyup(function () {
alert("KEYUP FUNCTION WORKENGGG");
var password = jQuery('#TextBox3').val();
var cfmPassword = jQuery('#TextBox4').val();
check_password_match(password, cfmPassword);
});
});
这是我的ASP html代码。
<asp:TextBox ID="TextBox4" runat="server" BackColor="#181818" ForeColor="White"
TextMode="Password" ToolTip="Password">Password</asp:TextBox>`
<asp:TextBox ID="TextBox3" runat="server" BackColor="#181818" ForeColor="White"
TextMode="Password" ToolTip="Password" Height="22px">Password</asp:TextBox>`
发布于 2012-01-11 18:06:23
试试这个:$('#<%=TextBox4.ClientID %>')
在客户端,asp.net控件的id不同于你在aspx页面中给它的id。
发布于 2012-01-11 18:07:20
HTML元素的ID将与ASP控件的ID不匹配。原因是ASP.NET控件可以命名控件,这些控件充当ID名称空间,允许多个控件具有相同的ID但不同的ClientID。最终结果是,您应该在JQuery中搜索ClientID。也就是说,$('#<%# TextBox4.ClientID %>')
将返回您试图检索的JQuery元素。
发布于 2012-01-11 18:12:29
我发现快速检查jQuery是否找到您的元素的最简单方法是使用如下内容:
$("#TextBox4").css("border","solid 1px red");
这样,当页面加载时,给定的元素应该以红色突出显示。然后,在知道选择器正在工作的情况下,您可以继续编写真正的代码。
假设您已经弹出上述警报,并且确实正确安装了jQuery,我建议您检查您的实际源代码。也就是说,浏览到有问题的页面,看看实际的html是如何呈现的。
由于您似乎正在使用asp标记(我假设是某种风格的Microsoft .NET?),因此当页面呈现时,输出中的实际html标记看起来与您正在编写的代码行非常不同。查看视图源代码,并检查textbox实际呈现的内容。您可能会发现它是一个<textarea>
或<input>
标记。查看id是否已更改。我相信Microsoft有一种方法可以将I或其他变量附加到您提供的I中。您可能会发现jQuery对选择器使用的真实代码如下所示:
<input type="text" id="TextBox4_123124" ....
或者类似的东西。在这种情况下,您必须查看id是否总是以相同的方式更改,否则,您可能不得不使用微软的jQuery实现-如果有的话。
要真正试用您的jQuery选择器,请尝试用纯html从头开始编写一个html文本元素,看看是否适合您,然后继续解密微软自动生成的html。
https://stackoverflow.com/questions/8824303
复制相似问题