看小猪老师写的行云流水甚是羡慕

但是咱得老老实实弄清楚到底是咋回事

  • this关键字指代当前的标签input
  • 其次我打印了$(this).next()[0]的信息,发现 这个tagName 是标签的大写
  • 最后注意的点就是 insertAfter 是兄弟元素的新增,而append是追加子元素
  1. const user = $("input[name='username']");
  2. user.blur = function(){
  3. // console.log("sss");
  4. let tip = "";
  5. //用户列表
  6. const users = ["admin", "peter", "zhu"];
  7. // console.log($(this).val().length);
  8. if ($(this).val().length === 0) {
  9. tip = "用户名不能为空";
  10. $(this).focus();
  11. }
  12. console.log($(this).next());
  13. //显示提示信息到页面中
  14. if ($(this).next()[0].tagName !== "SPAN") {
  15. $("<span></span>").html(tip).css({
  16. color: "red",
  17. fontSize: "14px",
  18. }).insertAfter($(this));
  19. }
  20. }
  21. //on('事件类型',回调函数)
  22. //事件监听 addEventListener()
  23. //input 检测用户的输入内容
  24. //当时输入后的blur会产生span标签,这里搞一个判断
  25. user.on("input", function () {
  26. if ($(this).next()[0].tagName === "SPAN") {
  27. $(this).next().remove();
  28. }
  29. });

更多相关文章

  1. js基础知识:JS对DOM元素的基本操作,遍历、增删改查。
  2. 【jQuery基础入门】顶级对象$()和jQuery中常用的getter、setter
  3. 技术问答-20 ArrayList和LinkedList
  4. css实现垂直居中的方式
  5. 一个可能让你的页面渲染速度提升数倍的CSS属性
  6. 一些鲜为人知的的CSS3属性
  7. css 中的 content-visitly 提升渲染性能
  8. 前端170面试题+答案学习整理
  9. DAY03-实例演示选择器优先级、前端组件样式模块化实现、伪类选择

随机推荐

  1. Android中循环的几种方式
  2. Android开发环境搭建天下第一例
  3. Android隐藏软键盘
  4. Android(安卓)小知识点(持续更新)
  5. [置顶] android 下载
  6. unity导出android遇到的build target 错
  7. Android中DatePicker只显示年月的方法
  8. Android之底部導航欄--RadioGroup、TabHo
  9. Android 异步网络请求框架-Volley
  10. Android Compatibility Package