博客列表 >jQuery的getter,setter和DOM操作(0819)

jQuery的getter,setter和DOM操作(0819)

丶久而旧之丶
丶久而旧之丶原创
2020年09月29日 17:23:15842浏览

jQuery操作

css()方法

  1. // 原生查看css属性值
  2. var div = document.querySelector(".contain");
  3. console.log(getComputedStyle(div, null)["background-color"]);
  4. // jQuery查看属性值
  5. console.log($("div").css("width"));
  6. var box = $(".contain");
  7. // 参数可以是一个回调进行动态设置
  8. box.css("background-color", function () {
  9. var bgcolor = ["cyan", "lightgreen", "lightblue", "lightcoral"];
  10. var index = Math.floor(Math.random() * bgcolor.length);
  11. return bgcolor[index];
  12. });
  13. // 设置自定义属性,不传第二个参数为查看自定义属性
  14. $("div").data("name", "item");
  15. console.log($("div").data("name"));
  16. // 新增自定义属性
  17. $("div").data("id", "12");
  18. console.log($("div").data())
  19. // 移除通过data方法新增或设置过的自定义属性
  20. $("div").removeData("id");
  21. console.log($("div").data());

val()方法

  1. // val()方法-获取表单控件的value值
  2. // 原生获取
  3. console.log(document.forms.item(0).username.value);
  4. console.log(document.forms.item(0).password.value);
  5. // jQuery获取
  6. console.log($("form #username").val());
  7. // val()传入参数则是设置
  8. $("form #username").val("小小明")
  9. console.log($("form #username").val());
  10. // 也可以传入回调函数
  11. $("form #username").val(function () {
  12. // 返回默认值
  13. return this.defaultValue;
  14. });
  15. console.log($("form #username").val());

获取元素位置和文本

  1. // html()方法
  2. // 原生获取
  3. console.log(document.querySelector("h2").innerHTML);
  4. // jQuery获取
  5. console.log($("h2").html());
  6. // 传入参数则是设置
  7. $("h2").html("用户注册")
  8. console.log($("h2").html());
  9. // 也可以写入下style属性
  10. $("h2").html("用户<span style=\"color:lightgreen\">注册</span>");
  11. // 获取元素位置信息
  12. // 原生获取
  13. console.log("元素距离左边的距离 %s px", document.forms.item(0).getBoundingClientRect().left);
  14. console.log("元素距离顶部的举例 %s px", document.forms.item(0).getBoundingClientRect().top);
  15. console.log("元素距离底部的距离 %s px", document.forms.item(0).getBoundingClientRect().bottom);
  16. // jQuery获取
  17. console.log($("form").offset().top);

DOM操作

  1. // DOM操作
  2. // 元素添加
  3. // append方法--父元素.append(子元素)
  4. $("body").append("<ul>");
  5. $("ul").append("<li>");
  6. $("li").html("加油学习");
  7. // appendTo方法 --子元素.appendTo(父元素)
  8. $("<li>").html("PHP中文网").appendTo("ul");
  9. // 也可以加入class属性
  10. $("<li>").addClass("blue").html("HTML中文网").appendTo("ul");
  11. // 添加时如果选择器中不是元素而是html标签那么支持第二个参数同时生成属性
  12. $("<li>", {
  13. "class": "green",
  14. "style": "background-color:lightgray",
  15. }).html("走上人生巅峰").appendTo("ul");
  16. // 可以传入回调使得动态生成
  17. $("ul").append(function () {
  18. var li = "";
  19. for (var i = 0; i < 5; i++) {
  20. li += "<li>最新商品" + (i + 1) + "</li>";
  21. }
  22. return li;
  23. });
  24. // 在指定位置之前添加--原位置.before(新元素)
  25. $("ul>li:nth-of-type(4)").before("<li>好好学习</li>");
  26. // 在指定位置之后添加-- 新元素.insertAfter(原位置)
  27. $("<li>天天向上</li>").insertAfter($("ul>li:nth-of-type(5)"));
  28. // 添加在最前面
  29. $("ul").prepend("<li>我成第一了</li>");
  30. // 元素的替换--原元素.replaceWith(新元素)
  31. $("ul>li:last-of-type").replaceWith("<p> 我替换了别人</p>");

过滤器操作

  1. // 过滤器操作
  2. // 过滤器--先获取一个较大的范围然后在慢慢缩小选择
  3. console.log($("ul").filter(".cont")[0]);
  4. // 通过过滤器获取第一个ul中的第一个li
  5. console.log($("ul").filter(".cont").children().first().css("background-color", "lightgreen"));
  6. // 通过过滤器获取第一个ul中的最后一个li
  7. console.log($("ul").filter(".cont").children().last().css("color", "lightgreen"));
  8. // 获取任意一个
  9. console.log($("ul").filter(".cont").children().eq(2).css("border", "1px solid black"));
  10. // children只能获取子元素,不能获取更下级元素
  11. console.log($("ul").filter(".cont").find(".red").css("color", "lightblue"));

总结

1.了解了jquery获取属性和原生获取之间的区别

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议