请向我建议我的问题的答案:Jquery标签" insertAfter"如果元素存在,则只显示一次,不会一次又一次地重复?
$(document).ready(function (){$(".ddd").keypress(function (e) {
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
$("<span style='color:red'>insert only character</span>").insertAfter( $(this)).show().fadeOut("slow");
return false;
}
});
});
答案 0 :(得分:0)
尝试在选择器上使用jQuery的.length
属性来检查它是否存在。如果没有,请插入:
$(document).ready(function() {
$(".ddd").keypress(function(e) {
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
if (!$("#err").length)
$("<span id= 'err' style='color:red'>insert only character</span>").insertAfter($(e.target));
$("#err").show().fadeOut("slow");
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="ddd"></input>