JQuery DOM操作实例

怼烎@ 2023-06-13 03:24 25阅读 0赞

这几天在公司一直在忙一些页面的工作,对jQuery的DOM操作有较深的印象,像元素遍历、选择器等

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link rel="stylesheet" href="layui/css/layui.css" media="all">
  6. <script src="js/jquery-1.11.2.min.js"></script>
  7. <title>Test</title>
  8. </head>
  9. <script>
  10. var num = /^[0-9]+$/;
  11. $(function(){
  12. bindEvent(1);
  13. bindEvent(2);
  14. bindEvent(3);
  15. $("table tr:not(:first):not(:last)").each(function(){
  16. var male_count = $(this).find("td").eq(1).find("input").val();
  17. var female_count = $(this).find("td").eq(2).find("input").val();
  18. if(male_count!="" && female_count!="" && num.test(male_count) && num.test(female_count)){
  19. $(this).find("td").eq(3).text(parseInt(male_count)+parseInt(female_count));
  20. }
  21. })
  22. calSum(1);
  23. calSum(2);
  24. calSum(3);
  25. })
  26. //绑定监听事件
  27. function bindEvent(index){
  28. $("table tr:eq("+index+") td:eq(1)").keyup(function(){
  29. var male_count = $(this).find("input").val();
  30. var female_count = $(this).next().find("input").val();
  31. if(male_count!="" && female_count!="" && num.test(male_count) && num.test(female_count)){
  32. $(this).parent().find("td").eq(3).text(parseInt(male_count)+parseInt(female_count));
  33. }
  34. calSum(1);
  35. calSum(3);
  36. })
  37. $("table tr:eq("+index+") td:eq(2)").keyup(function(){
  38. var male_count = $(this).prev().find("input").val();
  39. var female_count = $(this).find("input").val();
  40. if(male_count!="" && female_count!="" && num.test(male_count) && num.test(female_count)){
  41. $(this).parent().find("td").eq(3).text(parseInt(male_count)+parseInt(female_count));
  42. }
  43. calSum(2);
  44. calSum(3);
  45. })
  46. }
  47. //计算合计
  48. function calSum(index){
  49. var sum = 0;
  50. $("table tr:not(:first):not(:last)").each(function(){
  51. var td_ = $(this).find("td").eq(index);
  52. var count;
  53. if(index == 3){
  54. count = td_.text();
  55. }else{
  56. count = td_.find("input").val();
  57. }
  58. if(num.test(count)){
  59. sum = sum + parseInt(count);
  60. }
  61. })
  62. $("table tr:last td:eq("+index+")").text(sum);
  63. }
  64. </script>
  65. <body>
  66. <table class="layui-table" style="width:600px">
  67. <colgroup>
  68. <col width="150">
  69. <col width="150">
  70. <col width="150">
  71. <col width="150">
  72. <col>
  73. </colgroup>
  74. <thead>
  75. <tr>
  76. <th>班级号</th>
  77. <th>男生数</th>
  78. <th>男生数</th>
  79. <th>总人数</th>
  80. </tr>
  81. </thead>
  82. <tbody>
  83. <tr>
  84. <td>1001</td>
  85. <td class="input-select-td"><input class="layui-input" value="50"/></td>
  86. <td class="input-select-td"><input class="layui-input" value="50"/></td>
  87. <td class="input-select-td"></td>
  88. </tr>
  89. <tr>
  90. <td>1002</td>
  91. <td class="input-select-td"><input class="layui-input" value="50"/></td>
  92. <td class="input-select-td"><input class="layui-input" value="50"/></td>
  93. <td class="input-select-td"></td>
  94. </tr>
  95. <tr>
  96. <td>1003</td>
  97. <td class="input-select-td"><input class="layui-input" value="50"/></td>
  98. <td class="input-select-td"><input class="layui-input" value="50"/></td>
  99. <td class="input-select-td"></td>
  100. </tr>
  101. <tr>
  102. <td>总计</td>
  103. <td></td>
  104. <td></td>
  105. <td></td>
  106. </tr>
  107. </tbody>
  108. </table>
  109. <script>
  110. </script>
  111. </body>
  112. </html>

发表评论

表情:
评论列表 (有 0 条评论,25人围观)

还没有评论,来说两句吧...

相关阅读

    相关 03-jQuery操作DOM

    文本主要内容 样式和类操作 节点操作 样式操作和类操作 作用:设置或获取元素的样式属性值。 样式操作 1、设置样式: //设置单个样

    相关 JQueryDom操作

    [JQuery的Dom操作][JQuery_Dom]    小编最近参与了一个网站项目的开发,所以遇到了大量的js操作。让小编大为挠头。JQuery这东西,我貌似曾经熟练过一

    相关 jquery 操作DOM

    操作属性 -------------------- 通过attr可以获取标签的属性值, 还可以设置属性值, 和css()类似. 测试代码如下 <div c

    相关 jQuery操作DOM元素

    作为一个后端程序员,也是要和前端页面打交道的。最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求。 实现上述两个功能当然可以使用原生js来完成,但在实际开