无法使用jQuery操作DOM元素

时间:2017-04-14 01:09:52

标签: javascript jquery

我遇到了一个非常奇怪的情况。我有一个简单的注册表单,其中有一个input框来验证注册。整个网站基本上是一个大型的form。在我的模型(CodePen demo)中,一切正常。如果键匹配,则输入背景以绿色阴影显示。

HTML

<div id="workshops">
  <h1>Upcoming Workshops</h1>
  <p>To register for a workshop, fill in your name information and then click on the button next to each session title. Click <b>Register</b> when you're finished.</p>
  <div id="form">
    <form id="classSignup" class="noSubmit" onsubmit="handleFormSubmit(this)">
      <input id="email" name="email" type="hidden" value="<?= Session.getActiveUser().getEmail(); ?>" />
      <input id="first" name="first" type="text" onfocus="this.value=''" value="First Name" required />
      <input id="last" name="last" type="text" onfocus="this.value=''" value="Last Name" required />
      <select id="bldg" name="building"></select>
      <input type="submit" value="Register" />
      <div id="list">
        <div class='row' id='row9'>
          <span class='time'>8:00</span>
          <span class='date'>6/20/2017</span>
          <input type='checkbox' name='wkshp' value='6/20/2017'/>
          <span class='title'>
            <label for='wkshp'>Demo workshop</label>
          </span>
          <span class='desc'>This is the class description</span>
          <div class='meta'>
            <span class='loc'>Admin building</span> | 
            <span class='cat'>1a, 2b, 2c, 3d</span> | 
            <span class='type'>Online</span> | 
            <span class='seats'>Seats: 15</span>
          </div>
          <label>
            <input type='text' class='lock' name='regCode9' value='Code' />
          </label>
        </div>
      </div>
    </form>
  </div>
</div>

示例脚本

$("div.lock").keyup(function() {
  if( $(this).val() == "abc") {
    $(this).css('background-color', 'rgba(0, 255,0,0.4)')
  } else {
    $(this).css('background-color', 'white')
  }
})

当我将其移至我的实时网站时,我无法使用jQuery访问input元素。我可以在DOM中找到它并在Inspector中编辑CSS,但无论我做什么,我都无法收到错误消息以登录控制台。我有很多其他脚本在页面上运行没有问题。

我真的不知道为什么它在一个网站上工作而不是另一个网站。任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:0)

尝试委派keyup事件

//Invoices.SetProcessDelegate(SendData);
        Invoices.SetProcessDelegate(delegate(List<ARInvoice> list)
        {
            List<ARInvoice> newlist = new List<ARInvoice>(list.Count);
            foreach (ARInvoice doc in list)
            {
                newlist.Add(doc);
            }
            SendData(newlist);
        });