经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
jQuery元素操作
来源:cnblogs  作者:bignewbie  时间:2019/3/25 9:15:12  对本文有异议

jQuery中创建元素及追加元素

DOM中可以动态创建元素:document.createElement(“标签的名字”);

jQuery中同样可以创建元素标签,并且返回的就是jQuery对象,可以直接调用方法
进行使用

1.append 方法用来在元素的末尾追加元素(最后一个子节点)。增加元素末尾

2.prepend ,在元素的开始添加元素(第一个子节点)。增加元素开始

3.after ,在元素之后添加元素(添加兄弟)增加元素后面

4.before :在元素之前添加元素(添加兄弟)增加元素前面

案例:

权限选择

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script src="jquery-1.12.2.js"></script>
  7. <script>
  8. $(function () {
  9. //第一个按钮:获取按钮添加点击事件,获取第一个下拉框中被选中的option添加到第二个下拉框
  10. $("#toRight").click(function () {
  11. $("#se2").append($("#se1>option:selected"));
  12. });
  13. //第二个按钮
  14. $("#toLeft").click(function () {
  15. $("#se1").append($("#se2>option:selected"));
  16. });
  17. //第三个按钮
  18. $("#toAllRight").click(function () {
  19. $("#se2").append($("#se1>option"));
  20. });
  21. //第四个按钮
  22. $("#toAllLeft").click(function () {
  23. $("#se1").append($("#se2>option"));
  24. });
  25. });
  26. </script>
  27. </head>
  28. <body>
  29. <div style="margin-left: 500px; margin-top: 20px; background-color: #999999">
  30. <select multiple="multiple" style="float: left; width: 60px; height: 100px;" id="se1">
  31. <option>添加</option>
  32. <option>删除</option>
  33. <option>修改</option>
  34. <option>查询</option>
  35. <option>打印</option>
  36. </select>
  37. <div style="width: 50px; float: left;">
  38. <input type="button" name="name" value=">" style="width: 50px;" id="toRight" />
  39. <input type="button" name="name" value="<" style="width: 50px;" id="toLeft" />
  40. <input type="button" name="name" value=">>" style="width: 50px;" id="toAllRight" />
  41. <input type="button" name="name" value="<<" style="width: 50px;" id="toAllLeft" />
  42. </div>
  43. <select multiple="multiple" style="float: left; width: 60px; height: 100px;" id="se2">
  44. </select>
  45. </div>
  46.  
  47. </body>
  48. </html>

 

创建元素的方式:

1.html方法设置内容,返回的是当前的对象,如果不传入参数,获取的是标签中的内容
2.html 方法可以创建元素

3.$(“html 标签”) 可以创建元素

 

案例:点击按钮动态创建表格

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. * {
  8. padding: 0;
  9. margin: 0;
  10. }
  11. div {
  12. margin-left: 300px;
  13. margin-top: 100px;
  14. }
  15. table {
  16. border-collapse: collapse;
  17. border-spacing: 0;
  18. border: 1px solid #c0c0c0;
  19. }
  20. th,
  21. td {
  22. border: 1px solid #d0d0d0;
  23. color: #404060;
  24. padding: 10px;
  25. }
  26. th {
  27. background-color: #09c;
  28. font: bold 16px "微软雅黑";
  29. color: #fff;
  30. }
  31. td {
  32. font: 14px "微软雅黑";
  33. }
  34. tbody tr {
  35. background-color: #f0f0f0;
  36. }
  37. tbody tr:hover {
  38. cursor: pointer;
  39. background-color: #fafafa;
  40. }
  41. </style>
  42. <script src="jquery-1.12.2.js"></script>
  43. <script>
  44. // 模拟从后台拿到的数据
  45. var datas = [
  46. {
  47. name: "传智播客",
  48. url: "http://www.itcast.cn",
  49. type: "IT最强培训机构"
  50. },
  51. {
  52. name: "黑马程序员",
  53. url: "http://www.itheima.com",
  54. type: "大学生IT培训机构"
  55. },
  56. {
  57. name: "传智前端学院",
  58. url: "http://web.itcast.cn",
  59. type: "前端的黄埔军校"
  60. }];
  61. $(function () {
  62. $("#btnCreate").click(function () {
  63. var arr=[];
  64. //遍历数组
  65. for(var i=0;i<datas.length;i++){
  66. var obj=datas[i];//数组中的每一个对象
  67. //创建行和列,加入到tbody中
  68. arr.push("<tr><td><a href="+obj.url+">"+obj.name+"</a></td> <td>"+obj.type+"</td></tr>");
  69. }
  70. $("#tbd").html(arr);
  71. });
  72. });
  73. </script>
  74. </head>
  75.  
  76. <body>
  77. <input type="button" value="获取数据" id="btnCreate"/>
  78. <div>
  79. <table>
  80. <thead>
  81. <tr>
  82. <th>名称</th>
  83. <th>说明</th>
  84. </tr>
  85. </thead>
  86. <tbody id="tbd">
  87. </tbody>
  88. </table>
  89. </div>
  90. </body>
  91.  
  92. </html>

 

设置和获取表单的value

input标签:文本框,radio,select,textarea(文本域),checkbox….常见的表单标签都可以通过val方法获取和设置value值

例如:

  1. $("#txt1").val("admin");
  2. $("#txt2").val("123456");
  3. $("#txt3").val(" 这是一个条款");
  4. $("#s1").val(2);// 设置 value 为 2 的选中

 

案例:设置和获取系统属性值或者自定义属性

  1. $("#btn1").click(function () {
  2. $("a").attr("title"," 传智播客")
  3. $("a").attr("href","http://www.itcast.cn");
  4. });
  5. $("#btn2").click(function () {
  6. // 获取属性值
  7. console.log($("a").attr("title"));
  8. });

attr()方法:可以设置属性值,两个参数:1.属性名字,2,属性值
attr()方法:可以获取属性值,一个参数:1.属性名字

 

案例:全选和反选案例

设置复选框选中:(attr设置checkbox的选中有问题)prop
prop用法和attr一样

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <script src="jquery-1.12.2.js"></script>
  7. <script>
  8. //两个按钮:1按钮全选,2全不选
  9. $(function () {
  10. //获取第一个按钮,点击---全选
  11. $("#btnAll").click(function () {
  12. $("#dv :checkbox").prop("checked",true);
  13. });
  14. //获取第二个按钮,点击---全不选
  15. $("#btnNoAll").click(function () {
  16. $("#dv :checkbox").prop("checked",false);
  17. });
  18. });
  19. </script>
  20. </head>
  21. <body>
  22. <input type="button" value="全选" id="btnAll"/>
  23. <input type="button" value="全不选" id="btnNoAll"/>
  24. <div id="dv">
  25. <input type="checkbox" value="1"/>吃饭
  26. <input type="checkbox" value="2"/>睡觉
  27. <input type="checkbox" value="3"/>打豆豆
  28. <input type="checkbox" value="4"/>打篮球
  29. <input type="checkbox" value="5"/>打足球
  30. <input type="checkbox" value="6"/>打铅球
  31. <input type="checkbox" value="7"/>打桌球
  32. </div>
  33. </body>
  34. </html>

 

设置和获取元素的宽和高

通过.css()方法写一个属性可以获取宽或者高,是字符串类型如果获取后重新设置需要转换,麻烦

1.width()方法获取宽度

2.height()方法获取高度

获取的时候直接就是数字类型

例如:

  1. console.log($("div").width());
  2. console.log($("div").height());

 

位置操作

Offset()方法返回的是对象,并且,对象中有一个left和一个top,并且值是数字类型,设置的时候也可以没有px,设置的时候元素在设置前如果没有脱离文档流,设置的时候会自动进行脱离文档流,默认为relative,如果设置前有脱离文档流,那么设置的时候直接改变位置

例如:

  1. // 获取的是对象 , 并且没有 px
  2. console.log($("div").offset());
  3. console.log($("div").offset().left);
  4. console.log($("div").offset().top);

注意:如果层和层中的标签同时定位,并且,标签距离左上角50px.通过按钮设置层距离左上角100px,那么标签此时距离左上角为150px。

 

 

特此声明:如需转载请注明出处,如有疑问请及时提出以便于改正,如有侵权,联系删除,谢谢

原文链接:http://www.cnblogs.com/CGWTQ/p/10588055.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号