先前隐藏的div上的按钮不起作用

时间:2019-02-15 03:16:17

标签: javascript jquery html

我的程序有2个带按钮的div,一个被隐藏,另一个被显示。当我单击显示的div按钮时,它将切换这2个div,先隐藏然后再显示。但是,即使代码完全相同,第二个按钮也不像第一个div中的按钮那样与同级div上的元素交互。 (html)

java

(jquery)

<div class="first_two_guesses">
  <input type="text" class="guess" id='first_guess' placeholder="first guess">
  <input type="text" class="guess" id='second_guess' placeholder="second guess">      
  <button type='button' class="btn-add">Submit</button>
</div>
<div class='word_guesses' style='display: none;'>
  <input type='text' class='guess' id='word_or_letter' placeholder='letter or word'>
  <button type='button' class='btn-guess'>Submit</button>
</div>

4 个答案:

答案 0 :(得分:0)

您忘记在代码中加上结尾括号())。见下文:

$('.btn-add').on('click', function(){   
  $('.first_two_guesses').hide();
  $('.word_guesses').show();
});

$('.btn-guess').on('click', function(){   
  $('.first_two_guesses').show();
  $('.word_guesses').hide();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="first_two_guesses">
  <input type="text" class="guess" id='first_guess' placeholder="first guess">
  <input type="text" class="guess" id='second_guess' placeholder="second guess">      
  <button type='button' class="btn-add">Submit</button>
</div>
<div class='word_guesses' style='display: none;'>
  <input type='text' class='guess' id='word_or_letter' placeholder='letter or word'>
  <button type='button' class='btn-guess'>Submit</button>
</div>

答案 1 :(得分:0)

使用jQuery .toggle()函数来切换html元素的可见性。

$('.btn-add').on('click', function(){   
  $('.first_two_guesses').toggle();
  $('.word_guesses').toggle();
});

$('.btn-guess').on('click', function(){   
  $('.first_two_guesses').toggle();
  $('.word_guesses').toggle();
});

答案 2 :(得分:0)

您现在可以使用.on()方法。通过将委托事件附加到运行jQuery时HTML中可见的元素上。

因此,如果在运行jQuery时a.someClass被隐藏,则应将委托事件附加到主体上,以便将来在有可见a.someClass元素时运行,例如:

$('body').on('click','input.a.someClass',function(){
  alert("test");
});

答案 3 :(得分:0)

请参见Demo

$('.btn-add').on('click', function(){   
   //... do someting ...
  $('.first_two_guesses').hide();
  $('.word_guesses').show();
});

$('.btn-guess').on('click', function(){   
 // ... do the same thing ...
   $('.first_two_guesses').show();
  $('.word_guesses').hide();
});

我已经编辑了您的问题,我理解您的问题就像您要在两次单击按钮之间切换一样。尝试对元素使用ID选择器。 ID可用于标识一个元素,而类可用于标识多个元素