jQuery按钮改变不工作
jQuery Button changes not working
我试图给按钮一个新的内容,如果它被点击。我还添加了新的类。这工作是完全好的第一次点击,但由于某种原因,innerhtml在点击第二次后没有改变。HTML:
<button class="btn btn-warning btn-invisible"><i class="fa fa-eye-slash"></i></button>
jQuery: $('.btn-invisible').click(function() {
$(this).removeClass('btn-invisible');
$(this).addClass('btn-visible');
$(this).html('<i class="fa fa-eye"></i>');
});
$('.btn-visible').click(function() {
$(this).removeClass('btn-visible');
$(this).addClass('btn-invisible');
$(this).html('<i class="fa fa-eye-slash"></i>');
});
我把小提琴准备好了:https://jsfiddle.net/dthee9w6/7/
如果有人能帮助我,我会很高兴。
您应该使用'on'而不是'click',以便您可以使用动态添加的元素。
$('body').on('click','.btn-invisible',function() {
$(this).removeClass('btn-invisible');
$(this).addClass('btn-visible');
$(this).html('<i class="fa fa-eye"></i>');
});
$('body').on('click','.btn-visible',function() {
$(this).removeClass('btn-visible');
$(this).addClass('btn-invisible');
$(this).html('<i class="fa fa-eye-slash"></i>');
});
希望能有所帮助。
将代码包装在$(function(){})中,即$(document).ready(function(){});,除此之外一切都很好
没有必要在每次点击时更新html,所有你需要做的就是添加和删除必要的类。对于第一次点击,你正在删除不可见的类,如果下一次点击,它试图再次删除不可见的类,它会抛出一个错误,你应该使用toggleClass
$(function() {
$('.btn-invisible').click(function() {
$(this).toggleClass('btn-invisible');
if (!$(this).hasClass('btn-visible')) {
$(this).addClass('btn-visible');
$(this).find('.fa').removeClass('fa-eye-slash').addClass('fa-eye');
}
});
$('.btn-visible').click(function() {
$(this).toggleClass('btn-visible');
if (!$(this).hasClass('btn-invisible')) {
$(this).addClass('btn-invisible');
$(this).find('.fa').removeClass('fa-eye').addClass('fa-eye-slash');
}
});
});
希望有所帮助
相关文章:
- flexislider无法在现场工作,图像没有旋转,但导航点正在改变
- 变量在Javascript中是如何工作的?可以在setTimeout期间更改变量值
- 在一些Javascript上工作,以前工作过,改变了它,Ctrl + Z恢复了它,停止工作
- dataTable搜索〔Filter Plugin〕没有'不改变就不工作
- 如何使JQuery同位素与改变高度的元素一起工作
- 为什么不是'改变我工作价值观的逻辑
- dojo on.emit”;点击“;以及“;改变“;不在IE工作
- 改变“;选择“;下拉列表的属性无法正常工作
- 点击改变星星的颜色-为什么不;t这项工作
- 改变“;背景图像:“;在计时器上使用javascript无法工作
- 视口比例;方向改变后不能工作
- jQuery改变背景颜色不工作
- 当我简单地改变两个表达式的顺序时,为什么这个for循环不能工作?
- Javascript改变图像/背景图像不工作
- 改变不透明度使用css过渡和香草JavaScript只工作时淡出
- Jquery的点击功能在3个类之间改变.为什么不工作呢?
- 我有反应标签代码工作完美,但我需要改变html结构
- JS代码改变表单提交不工作
- 如果一个输入单选被选中,改变父元素'的颜色:不能'使它与jQuery工作
- 根据alt标签不工作改变图像源