JQuery输入[Name =“”]未在Firefox上识别

时间:2013-12-23 02:53:43

标签: javascript jquery html css firefox

我有一个JavaScript代码,可以读取html文本框的内容,并且正在使用IE和Chrome,但Firefox无法识别。

HTML代码:

<div id="SetInner_Form">                
    <form name="Set_Password" method="post" action="">
        Email Address &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input class="Auth" name="SetPwd_Username" type="text"/><br/><br/>
        New Password   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input class="Auth" name="SetPwd_NewPwd" type="password"/><br/><br/>
        Retype Password &nbsp;<input class="Auth" name="SetPwd_RetypePwd" type="password"/><br/><br/>
        <div id="SetPwdResultWrapper">
            <div id="SetPwdResult" class="Validation_2"></div><br/>
        </div>
        <div id="RedirectLink" align="center" class="NoDisplay">Click <a href='https://localhost/webapp/index.aspx'>here</a> to go to main page</div><br/>
    </form>
    <div id="SetPwdBtnWrapper">
        <input id="SetPwdBtn" name="SetPwdBtn" type="submit" value="Confirm" align="center"/>
    </div>
    <img id="LoadingIcon_auth"/>
</div>

Javascript代码:

$("input[name=SetPwd_Username]").val()

异常(在Firefox控制台上):

Uncaught exception: Syntax error, unrecognized expression: input[name=SetPwd_Username

JQuery版本是:jquery-1.6.4.min.js

奇怪的是,Firefox可以识别除SetPwd_Username

之外的其他html元素

我错过了什么吗?

3 个答案:

答案 0 :(得分:31)

根据您的错误消息,您忘记了选择器中的结束]

此:

"input[name=SetPwd_Username"

无效,并产生确切的错误消息。


Chrome无法为无效选择器提供错误。它的.querySelectorAll()实现似乎并没有拒绝它。这就是差异的原因。

由于Firefox正确拒绝选择器,因此默认为Sizzle引擎,然后引发错误。由于Chrome不会拒绝它,因此您不会收到错误。

答案 1 :(得分:1)

尝试将字段名称放在单引号中。

$("input[name='SetPwd_Username']").val()
              ^ here          ^ and here

答案 2 :(得分:-1)

您必须注意:css和jquery之间有区别,即符号“'” 在jquery

 $("input[name='SetPwd_Username']")

和css

input[name=SetPwd_Username]{
}