Jquery没有在表中查找元素

时间:2009-12-16 10:17:25

标签: jquery

Jquery无法在我的表中找到任何元素 - 这是htmlcode。如果我没有指定和元素名称#btnLogin它将click事件附加到所有元素。当我试图找到一个特定的元素时,它就不会被拾取。

<script>
    $("#btnLogin").click
    (   function()
        {
            alert('Hi');
        }
    );
</script>
<table width="290px" border="1" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border-style:solid; border: 1px solid; ">
  <tr>    
    <td width="100%" align="left" valign="top" bgcolor="#FFFFFF" style="padding:5px"><table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
      <tr>
        <td width="100%" bgcolor="#9B2301"  style="padding:5px"><span class="text2" style="padding:5px">Login...</span></td>
      </tr>
      <tr>
        <td style="padding-top: 8px; padding-left:10px;">
                <input name=txtUserName id="txtUserName" style="border:1px solid #CCCCCC;" type="text"  value="Username">
                <input name=txtPassword id="txtPassword" style="border:1px solid #CCCCCC;" type="text" value="Password">
        </td>
      </tr>
      <tr>
         <td valign="middle" style="padding-top: 5px; padding-left:10px;">
                <input id="Check" Type=Checkbox style=" font-size:8px;" name="Remember">&nbsp<font style="color: #9B2301; font-weight:bold">Remember Me.</font> | <font style="color: #9B2301; font-weight:bold"><a id="btnLogin" style="color: #666666; font-weight: normal;" href="#">Login</a></font> 
        </td>
      </tr>
       <tr>
         <td valign="middle" align=right style="padding-top: 5px; padding-right:15px;">
                <input id="Login" Type="Button" style="font-size:11px; border:1px solid #CCCCCC" name="Login" Value="Login">
        </td>
      </tr>
    </tr>
</table>

任何帮助都将受到高度赞赏。

由于

4 个答案:

答案 0 :(得分:3)

<script>
$(function() {
    $("#btnLogin").click
    (   function()
        {
            alert('Hi');
        }
    );
});
</script>

尝试在DOM就绪时进行,而不是在元素生成/处理/渲染之前。

答案 1 :(得分:2)

您正在加载页面之前运行脚本,因此您要搜索的元素尚不存在。

尝试在文档准备好后运行脚本。

$(document).ready(function() {
    $("#btnLogin").click
    (   function()
        {
            alert('Hi');
        }
    );
});

答案 2 :(得分:0)

如果您正在寻找#btnLogin,jquery将无法找到它,因为您的输入按钮的登录ID是“登录”。

所以它应该是:

$("#Login").click(function() {
   alert("Hi");
});

答案 3 :(得分:0)

当您的函数尝试附加单击处理程序时,该元素可能不存在。尝试

<script>
    $(function () {
        $("#btnLogin").click(function () {
                alert('Hi');
         });
    });
</script>

$(function(){...});部分使jQuery等到页面准备就绪并且在找到具有ID btnLogin的元素并附加单击处理程序之前存在所有元素。