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

jquery的引入

1.官网下载jquery文件保存到本地通过script的src引入

2.直接通过srcipt的src链接官网文档的地址

jq操作页面

  1. //jq选择器 - 得到的是jq对象 - jq对象可以调用jq库里的所有功能
  2. //$和jquery是一样的 语法 let h1 = $('css语法')
  3. let h1 = $('.d1');
  4. //jq对象我们可以把他看成一个装着js对象的数组,因此我们可以根据索引取出想要的js对象
  5. let h = $('div')[0]; // 这样取出来的js对象
  6. //假如我们匹配出了多个标签对象,又向指定固定标签的jq的对象,可以使用eq()的方法
  7. let hh = $('.head').eq(1); // 取出的就是第二个标签对应的jq对象
  8. //总结
  9. `
  10. 1.$('css选择器语法') 就是jq选择器 获得的是jq对象,jq对象可以理解为存放了js对象的数组(存放了几个不需要关心)
  11. 2.jq对象转换为js对象 jq对象[js对象所在的索引] - 可以使用js语法
  12. 3.js对象转换成jq对象 $(js对象) - 可以使用jq语法
  13. `;
  14. //操作页面三步骤 1.获取标签 2.绑定事件 3.操作标签
  15. $('.d2').click(function (ev) {
  16. //传进来的ev还是鼠标对象
  17. console.log(ev);
  18. console.log(ev.clientY);
  19. console.log(ev.clientX);
  20. //jq事件中的this还是js对象,可以直接使用js语法,如果还想使用jq语法,需要转成jq对象
  21. $(this); //转成了jq对象
  22. //也可以在事件中获取任何标签的jq对象,通过css选择器语法
  23. $('body'); //body的jq对象
  24. })

jq常用的操作

以下只讲解部分常用操作,更多操作可查看官方API

  1. //首先获得jq对象
  2. let $title = $('.title');
  3. //1.操作文本
  4. $title.text(); //获得文本内容
  5. $title.html(); //获得标签内容
  6. $title.val(); //获得表单内容
  7. //2.样式操作
  8. //设置样式
  9. $title.css('css中的属性名','css中的属性值'); //单一样式设置
  10. $title.css({
  11. '属性1':'值1',
  12. //....
  13. '属性n':'值n'
  14. }); //一次设置多个样式
  15. $title.css("css中的属性名",function () {
  16. //后面的值可以通过函数返回值获得,好处是可以加入逻辑
  17. });
  18. //3.类名 给一个标签加入提前设置好属性的类型,可以一次性加入设置好的一套样式
  19. //添加类型
  20. $title.addClass("类名");
  21. //删除类名
  22. $title.removeClass("类名");
  23. //切换类名 就是点击一下添加,点击第二下删除
  24. $title.toggleClass("类名");
  25. //4.属性
  26. //获取属性值
  27. $title.attr("属性名");
  28. //设置属性值
  29. $title.attr("属性名","属性值");
  30. //删除属性值 属性值设为空就是删除
  31. $title.attr("属性名","")

jq的链式操作

  1. //由于大部分jq对象方法的返回值都是jq对象本身,所以可以连续点出方法使用
  2. //eg:
  3. $title.css('color','red').click(function () {
  4. console.log(this);
  5. }).text();
  6. //有几个常见返回值不是jq对象本身的:text() height() width()

jq操作文档

  1. //1.快速定位到某一个jq对象
  2. //在jq集合中快速定位某一个: jq对象.eq(索引)
  3. $title.eq(1);
  4. //在jq集合中都具有系统事件,在事件中如何区别每一个jq对象
  5. //每一个jq对象都绑定了同一个事件,我要分辨出这次触发事件是谁触发的,并且执行谁的事件
  6. $title.click(function () {
  7. //通过this 可以找出当前jq对象在jq集合中的索引,就可判断出是谁触发的并且执行什么任务
  8. // let index = $title.index($(this));
  9. let index = $(this).index(); //上面或者这个都能得到索引
  10. console.log(index);
  11. });
  12. //2.通过自身快速定位到亲戚们
  13. //上兄弟 prev
  14. $title.prev();
  15. //上兄弟们 prevAll
  16. $title.prevAll();
  17. //下兄弟 next
  18. $title.next();
  19. //下兄弟们 nextAll
  20. $title.nextAll();
  21. //兄弟们 siblings
  22. $title.siblings();
  23. //孩子们 children
  24. $title.children();
  25. //父级标签 parent
  26. $title.parent();
  27. //所有直系上级标签 parents
  28. $title.parents();
  29. //3.动态生成页面结构
  30. //生成标签
  31. let $table = $('<table></table>');
  32. // 为标签添加css样式
  33. $table.css({
  34. color:'red',
  35. border:'1px solid green'
  36. });
  37. //获取目标标签
  38. let $tag = $('.tag');
  39. $tag.append($table); //加入到目标标签子标签的最后面(父子关系)
  40. $tag.prepend($table); //加入到目标标签子标签的最前面(父子关系)
  41. $tag.before($table); //在目标标签前面加标签(兄弟关系)
  42. $tag.after($table); //在目标标签后面加标签(兄弟关系)

需求:设计一个表格按钮,点击表格按钮,在后面插入指定宽高的表格

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="">
  9. <input type="number" placeholder="插入行">
  10. <input type="number" placeholder="插入列">
  11. <input type="text" placeholder="单元格内容">
  12. <input type="button" value="插入表格">
  13. </form>
  14. </body>
  15. <script src="js/jquery-3.4.1.js"></script>
  16. <script>
  17. //先为按钮绑定点击事件
  18. $('form').children().eq(3).click(function () {
  19. let $table = $('<table></table>'); //生成一个表格
  20. let $inp = $('input'); //获取input的jq对象
  21. let row = $inp.eq(0).val(); //获取行数
  22. let col = $inp.eq(1).val(); //获取列数
  23. let content = $inp.eq(2).val(); //获取每个单元格的内容
  24.  
  25. //开始为表格里添加行
  26. for (let r = 0;r < row; r++){
  27. let $row = $('<tr></tr>'); //生成行
  28. $table.append($row); //将行插入到表格里
  29. //为每一行中添加单元格
  30. for (let c = 0; c < col; c++){
  31. let $col = $('<td>'+content+'</td>'); //生成单元格,带内容的
  32. $row.append($col); //将单元格插入到行中
  33. };
  34. };
  35. $('form').after($table); //最后别忘记把表格插入到from表单后面
  36. });
  37. </script>
  38. </html>
完整过程代码

原文链接:http://www.cnblogs.com/hesujian/p/11148097.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号