其他分享
首页 > 其他分享> > jQuery常用API(五)——jQuery内容文本值

jQuery常用API(五)——jQuery内容文本值

作者:互联网

5. jQuery内容文本值

主要针对元素内容还有表单值操作

5.1 普通元素内容html()(相当于原生innerHTML)

html() //获取元素内容
html("内容") //设置元素内容
console.log($("div").html());
        $("div").html("123");

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

text() //获取元素的文本内容
text("内容") //设置元素的文本内容
console.log($("div").text());
        $("div").text("123");

5.3 表单值val()(相当于原生value)

 console.log($("input").val());
        $("input").val("123");

 

总体:

<div><span>我是内容</span></div>
    <input type="text" value="内容">
    <script>
        //1.获取设置元素内容html()
        console.log($("div").html());
        $("div").html("123");
        //2.获取设置元素文本内容text()
        console.log($("div").text());
        $("div").text("123");
        //3.获取设置表单值val()
        console.log($("input").val());
        $("input").val("123");
    </script>

 

5.4 购物车案例

div部分:

  1  <div class="c-container">
  2         <div class="w">
  3             <div class="cart-filter-bar">
  4                 <em>全部商品</em>
  5             </div>
  6             <!-- 购物车主要核心区域 -->
  7             <div class="cart-warp">
  8                 <!-- 头部全选模块 -->
  9                 <div class="cart-thead">
 10                     <div class="t-checkbox">
 11                         <input type="checkbox" name="" id="" class="checkall"> 全选
 12                     </div>
 13                     <div class="t-goods">商品</div>
 14                     <div class="t-price">单价</div>
 15                     <div class="t-num">数量</div>
 16                     <div class="t-sum">小计</div>
 17                     <div class="t-action">操作</div>
 18                 </div>
 19                 <!-- 商品详细模块 -->
 20                 <div class="cart-item-list">
 21                     <div class="cart-item check-cart-item">
 22                         <div class="p-checkbox">
 23                             <input type="checkbox" name="" id="" checked class="j-checkbox">
 24                         </div>
 25                         <div class="p-goods">
 26                             <div class="p-img">
 27                                 <img src="upload/p1.jpg" alt="">
 28                             </div>
 29                             <div class="p-msg">【5本26.8元】经典儿童文学彩图青少版八十天环游地球中学生语文教学大纲</div>
 30                         </div>
 31                         <div class="p-price">¥12.60</div>
 32                         <div class="p-num">
 33                             <div class="quantity-form">
 34                                 <a href="javascript:;" class="decrement">-</a>
 35                                 <input type="text" class="itxt" value="1">
 36                                 <a href="javascript:;" class="increment">+</a>
 37                             </div>
 38                         </div>
 39                         <div class="p-sum">¥12.60</div>
 40                         <div class="p-action"><a href="javascript:;">删除</a></div>
 41                     </div>
 42                     <div class="cart-item">
 43                         <div class="p-checkbox">
 44                             <input type="checkbox" name="" id="" class="j-checkbox">
 45                         </div>
 46                         <div class="p-goods">
 47                             <div class="p-img">
 48                                 <img src="upload/p2.jpg" alt="">
 49                             </div>
 50                             <div class="p-msg">【2000张贴纸】贴纸书 3-6岁 贴画儿童 贴画书全套12册 贴画 贴纸儿童 汽</div>
 51                         </div>
 52                         <div class="p-price">¥24.80</div>
 53                         <div class="p-num">
 54                             <div class="quantity-form">
 55                                 <a href="javascript:;" class="decrement">-</a>
 56                                 <input type="text" class="itxt" value="1">
 57                                 <a href="javascript:;" class="increment">+</a>
 58                             </div>
 59                         </div>
 60                         <div class="p-sum">¥24.80</div>
 61                         <div class="p-action"><a href="javascript:;">删除</a></div>
 62                     </div>
 63                     <div class="cart-item">
 64                         <div class="p-checkbox">
 65                             <input type="checkbox" name="" id="" class="j-checkbox">
 66                         </div>
 67                         <div class="p-goods">
 68                             <div class="p-img">
 69                                 <img src="upload/p3.jpg" alt="">
 70                             </div>
 71                             <div class="p-msg">唐诗三百首+成语故事全2册 一年级课外书 精装注音儿童版 小学生二三年级课外阅读书籍</div>
 72                         </div>
 73                         <div class="p-price">¥29.80</div>
 74                         <div class="p-num">
 75                             <div class="quantity-form">
 76                                 <a href="javascript:;" class="decrement">-</a>
 77                                 <input type="text" class="itxt" value="1">
 78                                 <a href="javascript:;" class="increment">+</a>
 79                             </div>
 80                         </div>
 81                         <div class="p-sum">¥29.80</div>
 82                         <div class="p-action"><a href="javascript:;">删除</a></div>
 83                     </div>
 84                 </div>
 85 
 86                 <!-- 结算模块 -->
 87                 <div class="cart-floatbar">
 88                     <div class="select-all">
 89                         <input type="checkbox" name="" id="" class="checkall">全选
 90                     </div>
 91                     <div class="operation">
 92                         <a href="javascript:;" class="remove-batch"> 删除选中的商品</a>
 93                         <a href="javascript:;" class="clear-all">清理购物车</a>
 94                     </div>
 95                     <div class="toolbar-right">
 96                         <div class="amount-sum">已经选<em>1</em>件商品</div>
 97                         <div class="price-sum">总价: <em>¥12.60</em></div>
 98                         <div class="btn-area">去结算</div>
 99                     </div>
100                 </div>
101             </div>
102         </div>
103     </div>
View Code

 

增减商品

分析:

  1. 核心思路:首先声明一个变量,当我们点击+号(increment),就让这个值++,然后赋值给文本框。
  2. 注意1:只能增加本商品的数量,就是当前+号的兄弟文本框(itxt)的值。
  3. 修改表单的值是val()方法。
  4. 注意2:这个变量初始值应该是这个文本框的值,在这个值的基础上++。要获取表单的值。
  5. 减号(decrement)思路同理,但是如果文本框的值是1,就不能再减了。
 1 <script>
 2         // 首先声明一个变量,当我们点击+号(increment),就让这个值++,然后赋值给文本框。
 3         $(".increment").click(function () {
 4             var n = $(this).siblings(".itxt").val();
 5             n++;
 6             $(this).siblings(".itxt").val(n);
 7         })
 8         //减号
 9         $(".decrement").click(function () {
10 
11             var n = $(this).siblings(".itxt").val();
12             if (n == 1) {
13                 return false;
14             }
15             n--;
16             $(this).siblings(".itxt").val(n);
17         })
18     </script>

 修改商品小计

分析

  1. 核心思路:每次点击+或-号,根据文本框的值乘以当前商品的价格就是商品小计。
  2. 只能修改本商品小计
  3. 修改普通元素内容是text()方法
  4. 当前商品价格要去掉¥符号再相乘
 1 <script>
 2         // 首先声明一个变量,当我们点击+号(increment),就让这个值++,然后赋值给文本框。
 3         $(".increment").click(function () {
 4             var n = $(this).siblings(".itxt").val();
 5             n++;
 6             $(this).siblings(".itxt").val(n);
 7             //小计模块
 8             var p = $(this).parent().parent().siblings("p-price").html();
 9             p.substr(1);//去掉¥符号
10             $(this).parent().parent().siblings("p-sum").html("¥" + p * n)
11         })
12         //减号
13         $(".decrement").click(function () {
14 
15             var n = $(this).siblings(".itxt").val();
16             if (n == 1) {
17                 return false;
18             }
19             n--;
20             $(this).siblings(".itxt").val(n);
21 
22

23 p.substr(1);//去掉¥符号
24             $(this).parent().parent().siblings("p-sum").html("¥" + p * n)
25         })
26 
27     </script>

 优化:

5.parents('选择器')可以返回指定祖先元素,避免了层层寻找

//修改前
var p = $(this).parent().parent().siblings("p-price").html();
//修改后
var p = $(this).parents("p-num").siblings("p-price").html();

6.最后计算结果如果想要保留2位小数通过toFixed(2)方法

7.用户也可以直接修改表单里面的值,同样要计算小计。用表单change事件。在商品数量的文本框中输入一个数值,价格区也要有相应的变化。

1 $(".itxt").change(function () {
2             //获取文本框的值
3             var n = $(this).val();
4             var p = $(this).parents(".p-num").siblings(".p-price").html();
5             p = p.substr(1);
6             $(this).parents(".p-num").siblings(".p-sum").html("¥" + (p * n).toFixed(2))
7         })

 

标签:jQuery,val,text,html,itxt,API,siblings,div,文本
来源: https://www.cnblogs.com/1670420748s/p/15217262.html