2

嘿,我想知道为什么我使用以下代码收到此错误:

的JavaScript:

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
 <script src="http://max.jotfor.ms/min/g=jotform?3.0.3359" type="text/javascript"></script>

 function checkInput() {
if ($("#input_3") === null) {
    $('#error1').css('display', 'block');
        $('#error1').css('visibility', 'visible');
}
 ....

CSS:

 .ErrorBlock1 {
    display: none;
    visibility: hidden;     
    background-color:#F00;
    color:#FFF;
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
 }

的HTML:

 <div id="cid_3" class="form-input-wide">
    <input name="q3_firstName3" type="text" class="form-textbox validate[required, Alphabetic]" id="input_3" size="25" style="width: 265px; height: 25px; background: transparent url(textfield.png) no-repeat center center; border: none;" onBlur="checkInput();" />
 <div class="ErrorBlock1" id="error1">First Name Req.</div>
 </div>

运行时出现此错误:

Timestamp: 9/17/2012 9:10:15 AM
Error: TypeError: $("#error1") is null

为什么我会得到这个???

4

2 回答 2

4

$('#input_3')永远不会返回null。它总是一个 jQuery 对象。

用 来检查它的存在$('#input_3').length != 0

于 2012-09-17T13:10:53.483 回答
2

为您同时使用displayand visibility

jsBin 演示

CSS:

.ErrorBlock1 {
    display: none; 
    visibility: hidden;
    background-color:#F00;
    color:#FFF;
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
 }

查询:

function checkInput() {
  if ($("#input_3").val().length) {
      $('#error1').show().css({visibility:'visible'});
  }else{
      $('#error1').hide().css({visibility:'hidden'});
  }
}
于 2012-09-17T13:08:18.100 回答