jQuery:设置获取属性、遍历添加删除元素、尺寸、位置

素颜马尾好姑娘i 2024-04-03 09:43 127阅读 0赞

目录

一、设置或获取元素属性值

1、设置或获取元素固有属性值

2、设置或获取元素自定义属性值attr()

3、数据缓存data()

二、获取元素内容

三、jQuery对元素操作

1、遍历元素

2、创建元素

3、删除元素

四、jQuery 尺寸

五、jQuery位置

一、设置或获取元素属性值

1、设置或获取元素固有属性值

所谓元素固有属性就是元素本身自带的属性,比如元素里面的href,比如元素里面的

type。

1.获取属性语法

  1. prop("属性")

2.设置属性语法

  1. prop("属性";"属性值")

示例:

  1. <body>
  2. <a href="www.baibu.com" title=" 123">123</a>
  3. <input type="checkbox" id="" value="" name="" checked>
  4. <script>
  5. $(function(){
  6. //获取元素固有属性值
  7. console.log($("a").prop("href"));
  8. //修改属性值
  9. $("a").prop("title","123456");
  10. //查看复选框是否选中
  11. $("input").change(function(){
  12. console.log($(this).prop("checked"));
  13. })
  14. })
  15. </script>
  16. </body>

2、设置或获取元素自定义属性值attr()

用户自己给元素添加的属性,我们称为自定义属性。比如给div添加index = “1”。

1.获取属性语法

  1. attr("属性")//类似原生getAttribute()

⒉设置属性语法

  1. attr("属性","属性值")//类似原生setAttribute()

语法:

  1. <body>
  2. <div index = "1" data-index="2">123</div>
  3. <script>
  4. $(function(){
  5. //获取自定义属性
  6. console.log($("div").attr("index"));
  7. console.log($("div").attr("data-index"));
  8. //修改自定义属性
  9. $("div").attr("index",2);
  10. });
  11. </script>
  12. </body>

3、数据缓存data()

data()方法可以在指定的元素上存取数据,并不会修改DOM元素结构。一旦页面刷新,之前存放的

数据都将被移除。

1.附加数据语法

  1. data("name","value")//向被选元素附加数据

2获取数据语法

  1. date("name")//向被选元素获取数据

同时,还可以读取HTML5自定义属性data-index ,得到的是数字型

  1. <body>
  2. <div index = "1" data-index="2">123</div>
  3. <span>123</span>
  4. <script>
  5. $(function(){
  6. //数据缓存data()这个里面的数据是放在元素的内存里面
  7. $("span").data("name","pass");
  8. console.log($("span").data("name"));
  9. //这个方法获取data-index h5自定义属性 不用写data- 而且返回的是数字类型
  10. console.log("div").data("index");
  11. });
  12. </script>
  13. </body>

二、获取元素内容

1.普通元素内容html()(相当于原生inner HTML)

  1. html() //获取元素的内容
  2. html("内容")//设置元素的内容

⒉普通元素文本内容text()(相当与原生innerText)

  1. text()//获取元素的文本内容
  2. text("文本内容")//设置元素的文本内容

3.表单的值val()(相当于原生value)

  1. val()

示例:

  1. <body>
  2. <div>
  3. <span>123</span>
  4. </div>
  5. <input type="text" value="请输入">
  6. <script>
  7. //获取元素内容 html()
  8. console.log($("div").html());
  9. //设置元素内容
  10. $("span").html("456");
  11. //获取元素文本内容 text()
  12. console.log($("div").text());
  13. //设置元素文本内容
  14. $("div").text("456");
  15. //获取设置表单值
  16. console.log($("input").val());
  17. //修改设置表单值
  18. $("input").val("123");
  19. </script>
  20. </body>

三、jQuery对元素操作

1、遍历元素

jQuery隐式迭代是对同一类元素做了同样的操作。如果想要给同一类元素做不同操作,就需要用到

遍历。

语法1:

  1. $ ("div").each(function (index,domEle){ xxx; })

1、each0)方法遍历匹配的每一个元素。主要用DOM处理。each每一个

2、里面的回调函数有2个参数:index是每个元素的索引号; demEle是每个DOM元素对象,不是

jquery对象

3、所以要想使用jquery方法,需要给这个dom元素转换为jquery对象$(domEle)

示例:

  1. <body>
  2. <div>123</div>
  3. <div>123</div>
  4. <div>123</div>
  5. <script>
  6. $(function(){
  7. var sum = 0;
  8. //each()方法遍历元素
  9. var arr = ["red","green","blue"];
  10. $("div").each(function(index,domEle){
  11. //回调函数第一个参数一定是索引号 可以自己指定索引号号名称
  12. // console.log(index);
  13. console.log(index);
  14. //回调函数第二个参数一定是 dom元素对象 也是自己命名
  15. console.log(domEle);
  16. // domEle.css( "color" ) ; dom对象没有css方法
  17. $(domEle).css("color",arr[index]);
  18. //获取元素值相加
  19. sum += parseInt($(domEle).text());
  20. });
  21. console.log(sum);
  22. })
  23. </script>
  24. </body>

语法2∶

  1. $.each(object,function (inde,element) { xxx; })

1、$.each()方法可用于遍历任何对象。主要用于数据处理,比如数组,对象

2、里面的函数有2个参数: index是每个元素的索引号; element遍历内容

示例:

  1. <body>
  2. <div>123</div>
  3. <div>123</div>
  4. <div>123</div>
  5. <script>
  6. $(function(){
  7. var arr = ["red","green","blue"];
  8. // 2. $.each()方法遍历元素主要用于遍历数据,处理数据
  9. //遍历元素值
  10. $.each($("div"),function(i,ele) {
  11. console.log(i);
  12. console.log(ele);
  13. });
  14. //遍历数组
  15. $.each(arr, function(i, ele) {
  16. console.log(i);
  17. console.log(ele);
  18. });
  19. //遍历对象
  20. $.each({
  21. name:"admin",
  22. age:20
  23. },function(i,ele){
  24. //输出name age属性名
  25. console.log(i);
  26. //输出admin 20 属性值
  27. console.log(ele);
  28. });
  29. });
  30. </script>
  31. </body>

2、创建元素

语法︰

  1. $("<li></li>");

动态的创建了一个

  • 内部添加

    1. element.append("内容")

    把内容放入匹配元素内部最后面,类似原生appendChild。

    外部添加

    1. element.after("内容")//把内容放入目标元素后面
    2. element.before("内容")//把内容放入目标元素前面

    内部添加元素,生成之后,它们是父子关系。

    外部添加元素,生成之后,他们是兄弟关系。

    3、删除元素

    1. element.remove() //删除匹配的元素(本身)
    2. element.empty() //删除匹配的元素集合中所有的子节点
    3. element.htmI("")//清空匹配的元素内容

    示例:

    1. <body>
    2. <ul>
    3. <li>第一个li</li>
    4. </ul>
    5. <div class="test">第一个div</div>
    6. <script>
    7. // 1.创建元素
    8. var li =$ ("<li>第二个li</li>");
    9. // 2.添加元素
    10. // (1)内部添加
    11. //内部添加并且放到内容的最后面
    12. // $("ul").append(li);
    13. //内部添加并且放到内容的最前面
    14. $("ul").prepend(li);
    15. //(2)外部添加
    16. var div = $("<div>第二个div</div>");
    17. //放在后面
    18. //$(".test").after(div);
    19. //放在前面
    20. $(".test").before(div);
    21. // 3.删除元素
    22. //可以删除匹配的元素
    23. //$("ul" ).remove();
    24. //可以删除匹配的元素里面的子节点孩子,元素节点还在
    25. //$("ul" ).empty();
    26. //可以删除匹配的元素里面的子节点孩子,元素节点还在
    27. $("ul").html("");
    28. </script>
    29. </body>

    四、jQuery 尺寸
























    语法 用法
    width() / height() 取得匹配元素宽度和高度值只算width / height
    innerWidth()/ innerHieght() 取得匹配元素宽度和高度值包含padding
    outerWidth() / outerHeight() 取得匹配元素宽度和高度值包含padding . border
    outerWidth(true) / outerHeight(true) 取得匹配元素宽度和高度值包含padding . borde、margin

    以上参数为空,则是获取相应值,返回的是数字型。

    如果参数为数字,则是修改相应值。

    参数可以不必写单位。

    示例:

    1. <style>
    2. div{
    3. width: 200px;
    4. height: 200px;
    5. background-color: aquamarine;
    6. padding: 10px;
    7. border: 15px solid red;
    8. margin: 20px;
    9. }
    10. </style>
    11. </head>
    12. <body>
    13. <div></div>
    14. <script>
    15. $(function(){
    16. // 1. width() / height()获取设置元素 width和height大小
    17. console.log($("div").width());
    18. //$( "div" ).width(300) ;
    19. // 2. innerwidth() / innerHeight()获取设置元素 width和height + padding 大小
    20. console.log($("div").innerWidth());
    21. // 3. outerwidth()/ outerHeight()获取设置元素 width和height + padding + border 大小
    22. console.log($("div").outerWidth());
    23. // 4. outerwidth(true) / outerHeight(true)获取设置width和height + padding + border +margin
    24. console.log($("div").outerWidth(true));
    25. });
    26. </script>
    27. </body>

    五、jQuery位置

    位置主要有三个:offset(). position()、scrollTop0/scrollLeft()

    1、offset()设置或获取元素偏移

    offset()方法设置或返回被选元素相对于文档的偏移坐标,跟父级没有关系。

    2、该方法有2个属性left、top。offset().top 用于获取距离文档顶部的距离,offset().left用于获取距离文档左侧的距离。

    3、可以设置元素的偏移:offset(f top: 10, left: 30 });

    2、position()获取元素偏移

    position()方法用于返回被选元素相对于带有定位的父级偏移坐标,如果父级都没有定位,则以文档

    为准。

    示例:

    1. <style>
    2. *{
    3. margin: 0;
    4. padding: 0;
    5. }
    6. .father{
    7. width: 400px;
    8. height: 400px;
    9. background-color: aquamarine;
    10. margin: 100px;
    11. overflow: hidden;
    12. position: relative;
    13. }
    14. .son{
    15. width: 150px;
    16. height: 150px;
    17. background-color: gray;
    18. position: absolute;
    19. left: 10px;
    20. top: 10px;
    21. }
    22. </style>
    23. </head>
    24. <body>
    25. <div class="father">
    26. <div class="son"></div>
    27. </div>
    28. <script>
    29. // 1.获取设置距离文档的位置(偏移)offset
    30. //获取.son距离文档的位置是一个对象
    31. console.log($(".son").offset());
    32. //获取.son距离文档头部的距离
    33. console.log($( ".son").offset( ).top);
    34. //修改位置
    35. $(".son").offset({
    36. top:200,
    37. left: 200
    38. });
    39. //2.获取距离带有定位父级位置(偏移)position 如果没有带有定位的父级,则以文档为准
    40. //这个方法只能获取不能设置偏移
    41. console.log($(".son").position());
    42. </script>
    43. </body>

    3、scrollTop()/scrollLeft()设置或获取元素被卷去的头部和左侧

    scrollTop()方法设置或返回被选元素被卷去的头部。

    scrollLeft()设置或获取元素被卷去的左侧

    示例:

    1. <style>
    2. .container{
    3. width: 800px;
    4. height: 800px;
    5. background-color: aquamarine;
    6. margin: 400px auto;
    7. }
    8. .back{
    9. position: relative;
    10. left: 1300px;
    11. top: 800px;
    12. height: 100px;
    13. width: 100px;
    14. display:none;
    15. background-color:pink;
    16. }
    17. </style>
    18. </head>
    19. <body>
    20. <div class="back">返回顶部</div>
    21. <div class="container"></div>
    22. <script>
    23. $(function(){
    24. //被卷去的头部 scrollTop() 被卷去的左侧scrollleft()
    25. //页面滚动事件
    26. var boxTop = $(".container").offset().top;
    27. $(window).scroll(function(){
    28. console.log($(document).scrollTop());
    29. if($(document).scrollTop() >= boxTop){
    30. //显示.back盒子
    31. $(".back").fadeIn();
    32. }else{
    33. 隐藏.back盒子
    34. $(".back").fadeOut();
    35. }
    36. });
    37. //动态返回顶部
    38. //核心原理∶使用animate动画返回顶部。
    39. //animate动画函数里面有个scrollTop属性,可以设置位置
    40. //但是 是元素做动画,因此要使用$( "body,html").animate({scrollTop: O})
    41. $(".back").click(function(){
    42. $("body,html").stop().animate({
    43. scrollTop:0
    44. });
    45. });
    46. });
    47. </script>
    48. </body>
  • 发表评论

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

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

    相关阅读