jQuery基础知识

目录

一、初步认识jQuery

二、选择器

三、事件

四、动画

五、jQuery操作Dom

一、初步认识jQuery

1、之前的js,会发现onload事件在写是时候,只能写一次

<script>
         window.onload = function(){
            alert("one")
         }
         
         window.onload = function(){
            alert("two")
         }
function fun01(){
            alert("我是第一个函数")
        }
        function fun02(){
            alert("我是第二个函数")
        }
        window.onload =fun
        window.onload = fun02
</script>

结论:window.onload事件只能书写一次。如果,现在fun01与fun02都需要执行,怎么办?可以更改代码

1.1 jQuery使用

如果需要使用jQuery需要导入jQuery的库,就是一个js文件

<script src="js/jquery-1.12.4.js"></script>

基本语法

<script>
            //window.onload
            $(function(){
                 alert("one")
            })
            //
            $(document).ready(function(){
                alert("two")
            })
            jQuery(function(){
                alert("three")
            })
            jQuery(document).ready(function(){
                alert("four")
            })
    
          $(function(){
                fun01()
            })
            function fun01(){
                alert("函数1")
            }
</script>
window.onload$(document).ready()
执行时机必须等待网页中所有的内容加载完毕后(包括图片、flash、视频等)才能执行网页中所有DOM文档结构绘制完毕后即刻执行,可能与DOM元素关联的内容(图片、flash、视频等)并没有加载完
编写个数同一页面不能同时编写多个同一页面能同时编写多个
简化写法$(function(){ //执行代码}) ;

1.2 节点类型

元素节点
文本节点
属性节点

1.3 Dom对象和jQuery对象

之前在js的时候,获取元素节点,全部是获取的Dom对象 document.getElementXXXX全部获取的都是Dom对象,Dom对象只能使用Dom的属性和方法

<script src="js/jquery-1.12.4.js"></script>
<script>
           $(function(){
              var v =  $("#div").html()
              console.log(v)
           })
</script>

说明: $("#div") 选择器 如何使用jQuery快速的定位元素

1.4 jQuery语法

$(选择器).方法()

$()称为工厂函数

dom对象和jQuery对象的相互转换

<script>
	//window.onload
	$(function(){
		  $("h1").css("background-color","red")
        //$("h1")是jQuery对象,此时获取的元素是一个集合,可以从中拿到想要的元素,调用get方法,传递索引,获取的对象是Dom对象
		  var h1Ele =  $("h1").get(0)//获取第一个h1标签,此时获取的标签的类型是dom对象
		  h1Ele.style.backgroundColor="blue"//只能使用dom的方法
		   
        //document.getElementXXX获取的是dom元素
		  var pEle =  document.getElementsByTagName("p")[0];//dom元素
		  var $p = $(pEle)//工厂函数将一个dom对象转换为jQuery对象
		  $p.css("background-color","orange")//可以使用jQuery的方法
	})
</script> 

页面中有个按钮,点击按钮的时候,给页面中的h1标签添加已经定义好的风格

二、选择器

2.1 基本选择器

名称语法构成描述示例
标签选择器element根据给定的标签名匹配元素$("h2" )选取所有h2元素
类选择器.class根据给定的class匹配元素$(" .title")选取所有class为title的元素
ID选择器#id根据给定的id匹配元素$(" #title")选取id为title的元素
并集选择器s1,s2……sn将每个选择器匹配的元素合并$("div,p,.title" )选取所有div、p和拥有class为title的元素
交集选择器Ele.class或ele#id匹配指定clss或id的某个元素$("h2.title")选取所有拥有class为title的h2元素
全局选贼*匹配所有元素$("*" )选取所有元素
<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.js"></script>
		<script>
			 $(function(){
			 	//$("*").css("background-color","red")  //* 全局选择器
			 	/*$("h1").css("background-color","red")  //标签选择器
			 	$(".one").css("color","orange")  //类选择器,通过.命名的
			 	$("#one").css("color","blue")  //id选择器,id选择器是通过#命名的*/
			 
			    //$("h1.one").css("color","red")//交集选择器
			    $("div,.one").css("color","red")//并集选择器
			 })
		</script>
	</head>
	<body>
		 <h1 class="one">标题1</h1>
		 <p class="one">段落</p>
		 <div>div</div>
		 <h1 id="one">标题1</h1>
		 <h1 class="two">标题1</h1>
	</body>

2.2 后代选择器

名称语法构成描述示例
后代选择器ancestor descendant选取ancestor元素里的所有descendant(后代)元素$("#menu span" )选取#menu下的<span>元素
子选择器parent>child选取parent元素下的child(子)元素$(" #menu>span" )选取#menu的子元素<span>
相邻元素选择器prev+next选取紧邻prev元素之后的next元素$(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>
同辈元素选择器prev~sibings选取prev元素之后的所有siblings元素$(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl>

2.3 属性选择器

名称语法构成描述示例
属性选择器[attribute]选取包含给定属性的元素$(" [href]" )选取含有href属性的元素
[attribute=value]选取等于给定属性是某个特定值的元素$(" [href ='#']" )选取href属性值为“#”的元素
[attribute !=value]选取不等于给定属性是某个特定值的元素$(" [href !='#']" )选取href属性值不为“#”的元素
[attribute ^=value]选取给定属性是以某些特定值开始的元素$(" [href^='en']" )选取href属性值以en开头的元素
[attribute$=value]选取给定属性是以某些特定值结尾的元素$(" [href$='.jpg']" )选取href属性值以.jpg结尾的元素
[attribute*=value]选取给定属性是以包含某些值的元素$(" [href* ='txt']" )选取href属性值中含有txt的元素
[selector] [selector2] [selectorN]选取满足多个条件的复合属性的元素$("li[id][title=新闻要点]" )选取含有id属性和title属性为新闻要点的<li>元素
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery-1.12.4.js"></script>
		<script>
			 $(function(){
			 	// $("#menu span").css("color","red") // #menu下的所有的span元素
			 	// $("#menu>span").css("color","red")  //#menu下的子元素
			 //	$(".one+h2").css("color","red")//相邻兄弟选择器,往后,找相邻
			 	//$("h2.one~h2").css("color","red")//同辈兄弟选择器,往后找。
			 	//$("a[href][title='one']").css("background-color","red") //a标签,有href属性的,而且title属性的值=one
			 	//$("a[title][title!='one']").css("background-color","red")//注意区分a[title!='one']区别在于a[title!='one'] 如果标签中不包含title属性也是满足条件的。a[title][title!='one']a标签,而且要有title属性,并且title属性的值不能是one
			 	//$("a[title^='f']").css("background-color","red")//a标签中有title属性并且属性的值以f开头
			 	//$("a[title$='e']").css("background-color","red")//以e结尾的
			 	$("a[title*='o']").css("background-color","red")//包含字母o
			 	
			 })
		</script>
	</head>
	<body>
		<div id="menu">
		    aa
			 <span class="one">商品查看列表</span>
		    <dl>
		        <dt>生活用品<span>特价</span></dt>
		        <dd><a name="mark">mark</a> <a href="#" title="one">最低价格</a> <a href="#"  title="two">最多折扣</a> <a href="#"><span>销量最多</span></a></dd>
		    </dl>
			 <h2>全部产品分类</h2>
		    <dl>
		        <dt>生活用品<span>特价</span></dt>
		        <dd><a href="#">最低价格</a> <a href="#"  title="three">最多折扣</a> <a href="#"><span>销量最多</span></a></dd>
		    </dl>
		    <dl id="#test">
		        <dt>烟酒</dt>
		        <dd><a href="#">茅台</a> <a href="#">西凤</a> <a href="#">五粮液</a></dd>
		        <dd><a href="#">高端</a> <a href="#"  title="four">最受欢迎</a></dd>
		    </dl>
			<div>
			      <dl id="test">
		        <dt>水果</dt>
		        <dd><a href="#">香蕉</a> <a href="#" title="five">香蕉</a> <a href="#">香蕉</a></dd>
		        <dd><a href="#">香蕉</a> <a href="#">香蕉</a></dd>
		    </dl>
			</div>
		    <span id="one">这个是span</span>
		    <span>更多分类</span>
		    <h2>h2</h2> 
			<h2 class="one">这个是h2</h2> 
			<h2 id="two">ID=two</h2> 
			<span>更多分类</span>
		    <h2>h2</h2> 
		</div>
	</body>
</html>

2.4 伪类选择器

语法构成描述示例
:first选取第一个元素$(" li:first" )选取所有<li>元素中的第一个<li>元素
:last选取最后一个元素$(" li:last" )选取所有<li>元素中的最后一个<li>元素
:even选取索引是偶数的所有元素(index从0开始)$(" li:even" )选取索引是偶数的所有<li>元素
:odd选取索引是奇数的所有元素(index从0开始)$(" li:odd" )选取索引是奇数的所有<li>元素
:eq(index)选取索引等于index的元素(index从0开始)$("li:eq(1)" )选取索引等于1的<li>元素
:gt(index)选取索引大于index的元素(index从0开始)$(" li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1
:lt(index)选取索引小于index的元素(index从0开始)$(“li:lt(1)” )选取索引小于1的<li>元素(注:小于1,不包括1)
:nth-child$("ul li:nth-child(2)"):ul下的第二个儿子是li的。必须保证类型和数匹配
:nth-of-type$("ul li:nth-of-type(1)"):ul下的类型是li的第一个元素
:only-child只有一个儿子的元素
 <ul>
				   <div>div</div>
					<li>这个是孙子列表0</li>
					<li>这个是孙子列表1</li>
					<li>这个是孙子列表2</li>
					<li>这个是孙子列表3</li>
					<li>这个是孙子列表4</li>
 </ul>
<script>
			 $(function(){
			 	//$("ul li:odd").css("background-color","red") 奇数
			 	// $("ul li:eq(0)").css("background-color","red")  等于0
			 	// $("ul li:gt(0):odd").css("background-color","red")  大于0取奇数,从0开始
			 	// $("ul li:lt(4):odd").css("background-color","red")  小于4
			 //	$("ul li:not(:first)").css("background-color","red")  不是第一个
			    $("ul li").eq(0).css("background-color","red")
			 })
</script>
:parent     $("ul li:parent").html("OK")  匹配 li里面有文本或子元素的li元素
.parent()   $("li").parent()  :找li的父元素,直接父元素,只找一级
.parents()  $("li").parents() :找li的所有的父元素,找到根
.parents()  $("li").parents("div") :找li的所有的父元素,只要div的

2.5 基本过滤选择器

语法构成描述示例
:not(selector)选取去除所有与给定选择器匹配的元素$(" li:not(.three)" )选取class不是three的元素
:header选取所有标题元素,如h1~h6$(":header" )选取网页中所有标题元素

2.6 可见性过滤选择器

语法构成描述示例
:visible选取所有可见的元素$(":visible" )选取所有可见的元素
:hidden选取所有隐藏的元素$(":hidden" ) 选取所有隐藏的元素

2.7 表单选择器以及表单属性选择器

具体见帮助文档

 $(function(){
			 	//$(":input").css("background-color","red") 获取所有的input
			 //	 $("input[type='text']").css("background-color","red")  获取文本框
             //$(":text").css("background-color","red") 
     //获取所有的checked="checked"元素的值
     /*
       .each()//循环每个元素
     */
     $("input:checked").each(function(i,v){//i,代表的是索引,v代表的循环出的每个元素,该元素是dom对象
			      	 var val =   $(v).val()
			      	 console.log(val)
	 })
 })

三、事件

3.1 鼠标事件

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件,常用鼠标事件有:

方法描述执行时机
click( )触发或将函数绑定到指定元素的click事件单击鼠标时
mouseover( )触发或将函数绑定到指定元素的mouse over事件鼠标移过时
mouseout( )触发或将函数绑定到指定元素的mouse out事件鼠标移出时

对应mouseover以及mouseout有一个复合试卷hover事件

$("input[type='button']").hover(function(){

},function(){

})

3.2 键盘事件

方法描述执行时机
keydown( )触发或将函数绑定到指定元素的keydown事件按下键盘时
keyup( )触发或将函数绑定到指定元素的keyup事件释放按键时
keypress( )触发或将函数绑定到指定元素的keypress事件产生可打印的字符时
<script>
			 $(function(){
			 	 $("input[type=text]").keydown(function(){
			 	 	var v =  $("div").html()//取到原来的值
			 	 	$("div").html(v+"keydown")
			 	 }).keyup(function(e){
			 	 	 $("div").html($("div").html()+"keyup")
			 	 	 var code = e.keyCode//获取值 键盘对应 a:65  b:66
			 	 	 console.log(code)
			 	 	 if(code==13){
			 	 	 	alert("做表单提交")
			 	 	 }
			 	 }).keypress(function(){
			 	 	 $("div").html($("div").html()+"keypress")
			 	 })
			 })
		</script>
	</head>
	<body>
		 <input type="text" />
		  <div></div>
	</body>

3.3 表达事件

方法描述执行时机
focus( )触发或将函数绑定到指定元素的focus事件获得焦点
blur( )触发或将函数绑定到指定元素的blur事件失去焦点

3.4 绑定事件

bind事件

<script>
			 $(function(){
			 	/* $("input[type='button']").click(function(){
			 	 	 alert("ok")
			 	 })*/
			 	//绑定事件
			 	 $("input[type='button']:first").bind("click",function(){
			 	 	alert("ok")
			 	 })
			 	 
			 	 $("input[type='button']:last").click(function(){
			 	 	 $(this).prev().unbind("click")//接触绑定事件
			 	 })
			 })
		</script>
	</head>
	<body>
		 <input type="button" value="点击" />
		 
		 <input type="button" value="取消" />
	</body>

绑定多个事件

$("ul li").bind({
			 	 	mouseover:function(){
			 	 		 console.log("mouseover")
			 	 	},
			 	 	mouseout:function(){
			 	 		console.log("mouseout")
			 	 	}
			 	 })
			 	 $("input[type='button']").click(function(){
			 	 	 $("ul li").unbind("mouseout")
	 })

bind绑定的事件对于新添加的元素不起效果的

<html>
	<head>
		<meta charset="UTF-8">
		<title>绑定多个事件</title>
		<script src="js/jquery-1.12.4.js"></script>
		<script>
			 $(function(){
			 	/* $("ul li").on({
			 	 	mouseover:function(){
			 	 		 $(this).css("background-color","orange")
			 	 	},
			 	 	mouseout:function(){
			 	 		$(this).css("background-color","green")
			 	 	}
			 	 })*/
			 	$("ul").on("mouseover","li",function(){
			 		 $(this).css("background-color","orange")
			 	})
			 	$("ul").on("mouseout","li",function(){
			 		$(this).css("background-color","green")
			 	})
			 	 $("input[type='button']:first").click(function(){
			 	 	 $("ul li").unbind("mouseout")
			 	 })
			 	 $("input[type='button']:last").click(function(){
			 	 	 var $li = $("<li>5</li>")
			 	 	 $("ul").append($li)
			 	 })
			 })
		</script>
	</head>
	<body>
		<input type="button" value="解除" />
		<input type="button" value="追加元素" />
		 <ul>
		 	 <li>1</li>
		 	 <li>2</li>
		 	 <li>3</li>
		 	 <li>4</li>
		 </ul>
	</body>
</html>

对于新添加的元素,需要使用on事件。请注意使用语法

$(parent).on("事件名","具体的子元素",function(){

})

3.5 复合事件

hover()方法相当于mouseover与mouseout事件的组合

<script type="text/javascript">
    $(document).ready(function(){
        $("#myaccound").hover(function(){
            $("#menu_1").css("display","block");
        },
        function(){
            $("#menu_1").css("display","none");
        });
    });
</script>

四、动画

1、显示及隐藏元素

$(document).ready(function(){
    $("#show").click(function(){
        $("div").show(2000);
    });
    $("#hidden").click(function(){
        $("div").hide("fast");
    });
});

toggle()除了可以模拟鼠标的连续单击事件外,还能用于切换元素的可见状态

$("#togg").click(function(){
    $("div").toggle();
});

fadeIn()和fadeOut()可以通过改变元素的透明度实现淡入淡出效果

$("#in").click(function(){
    $("div").fadeIn("slow");
});
$("#out").click(function(){
    $("div").fadeOut(2000);
});

slideDown() 可以使元素逐步延伸显示,slideUp()则使元素逐步缩短直至隐藏

$("#down").click(function(){
    $("div").slideDown("slow");
});
$("#up").click(function(){
    $("div").slideUp("slow");
});

五、jQuery操作Dom

5.1 、操作CSS

1、css来改变样式

选择器.css("属性名","值").css("属性名","值")
选择器.css({"属性名":"值","属性名":"值"})
<script>
			 $(function(){
			 	 $("p").css("color","white").css("text-indent","2em")
			 	 $("p").css({"font-size":"16px","background-color":"orange","line-height":"35px"})
			 })
</script>

<body>
		 <p>我是一个段落</p>
</body>

2、addClass,removeClass的使用

选择器.addClass("className1 className2")
选择器.removeClass("className1 className2")
 $(function(){
			 	 $("p").css("color","white").css("text-indent","2em")
			 	 $("p").css({"font-size":"16px","background-color":"orange","line-height":"35px"})
			     
			     $("div").addClass("two one")// 可以添添加一个样式也可以用空格隔开添加多个样式
			     $("div").mouseover(function(){
			     	$(this).removeClass("two").addClass("three")
			     }).mouseout(function(){
			     		$(this).removeClass("three").addClass("two")
			     })
			 })

3、 toggleClass()模拟了addClass()与removeClass()实现样式切换的过程

toggleClass(class) 

5.2 内容以及value属性

内容:html()以及text()

可以借助html()来获取元素中的内容,包含html的内容。也可以借助改方法给元素内部添加信息

可以借助text()获取元素内部的文本信息。

<body>
		 <p>我是一个段落</p>
		 
		 <div>
		 	我的一个div <input type="checkbox" />java
		 </div>
		 <div>
		 <input type="button" value="GET" /> <!--点击按钮,获取div的内容,文本框和文本区域框的内容-->
		 <input type="text" name="username" />
		 <textarea name="intro">我的兴趣爱好是.....</textarea>
		 </div>
	</body>
 $("input[type='button']").click(function(){
			     	var v =  $("div:first").text()
			     	console.log(v)
			     	$("div:first").html("<input type='radio'/>男")
			     	$("div:first").text("<input type='radio'/>男")
})
语法参数功能
html()无参数用于获取第一个匹配元素的HTML内容或文本内容
html(content)content参数为元素的HTML内容用于设置所有匹配元素的HTML内容或文本内容
text()无参数用于获取所有匹配元素的文本内容
text (content)content参数为元素的文本内容用于设置所有匹配元素的文本内容

val()可以获取或设置元素的value属性值

 $("input[type='button']").click(function(){
			     	var v =  $("div:first").text()
			     	console.log(v)
			     	$("div:eq(1)").html("<input type='radio'/>男")
			     //	$("div:first").text("<input type='radio'/>男")
			        var name  =   $("input[name='username']").val()
			        console.log(name)
			        var intro =   $("[name='intro']").val()
			        console.log(intro)
			     })

获取其他属性的值 attr

var src =  $("img").attr("src")//获取属性值src

$("img").attr("src","images/meiri.gif")//给img标签的src属性重新赋值

如何获取select框的值

//如果是一个值
var $selectedop = 	$("[name='address']").children(":selected")//选中的option的选项
var address =  $selectedop.val();
 console.log(address)

//如果是多个值,获取的是一个集合,需要循环
$("[name='address']").children(":selected").each(function(i,v){
			 	  	  var v =  $(v).val()
			 	  	  console.log(v)
			 	  })
如何获取单选框是否选中

 //获取是否选中,不能使用attr属性,要使用prop获取是否选中的结果
// $("[name='sex']") 应该是一个集合,如果直接$([name='sex']").prop("checked") 值判断了第一个元素
/* var ch =   $("[name='sex']").prop("checked")
	console.log(ch)*/
var b = false;
 var sex = "";
 $("[name='sex']").each(function(i,ele){
			 	 var c =  $(ele).prop("checked")
			 	  	  if(c){
			 	  	  	 b=true
			 	  	  	 sex = $(ele).val()
			 	  	  }
})			 	 	
console.log(b+"---"+sex)

多选框同单选框

var tec = new Array()
				 	$("[name='tec']").each(function(i,ele){
				 		var c =  $(ele).prop("checked")
				 		if(c){
				 			tec.push($(ele).val())
				 		}
	})
	console.log(tec)

5.3 节点操作

5.3.1 创建节点

$(html):使用HTML字符串创建jQuery节点
如: var $newNode2=$(“<li title='tit'>海贼王</li>”); 

5.3.2 追加子节点

插入子节点 元素内部插入子节点

语法功能
append(content)$(A).append(B)表示将B追加到A中 如:$("ul").append($newNode1);
appendTo(content)$(B).appendTo(A)表示把B追加到A中 如:$newNode1.appendTo("ul");
prepend(content)$(A). prepend (B)表示将B前置插入到A中 如:$("ul"). prepend ($newNode1);
prependTo(content)$(A). prependTo (B)表示将A前置插入到B中 如:$newNode1. prependTo ("ul");
 $(function(){
			 	
			 	$("[type='button']").click(function(){
			 		var $li = $("<li>li新</li>")
			 		//$("ul").append($li)  等价下面一行 都是再ul元素的内部追加li节点
			 		//$li.appendTo($("ul"))
			 		//$("ul").prepend($li) 等价下面一行,也是再ul的内部在前面追加li节点
			 		$li.prependTo($("ul"))
			 	})
			 })

插入同辈节点

语法功能
after(content)$(A).after (B)表示将B插入到A之后 如:$("ul").after($newNode1);
insertAfter(content)$(A). insertAfter (B)表示将A插入到B之后 如:$newNode1.insertAfter("ul");
before(content)$(A). before (B)表示将B插入至A之前 如:$("ul").before($newNode1);
insertBefore(content)$(A). insertBefore (B)表示将A插入到B之前 如:$newNode1.insertBefore("ul");
<script>
			 $(function(){
			 	
			 	$("[type='button']").click(function(){
			 		var $li = $("<li>li新</li>")
			 		//$("ul").append($li)
			 		//$li.appendTo($("ul"))
			 		//$("ul").prepend($li)
			 	//	$li.prependTo($("ul"))
			 	    // $("ul li:eq(1)").after($li)//在第二个li后面追加元素,此时追加的是与li平级的元素  等价下一行
			 	    // $li.insertAfter( $("ul li:eq(1)"))
			 	   //  $("ul li:eq(1)").before($li)//在第二个li前面追加一个元素此时追加的是与li平级的元素等价下一行
			 	     $li.insertBefore($("ul li:eq(1)"))
			 	})
			 })
		</script>
	</head>
	<body>
		 <input type="button"  value="添加"/>
		 <ul>
		 	  <li>节点1</li>
		 	  <li>节点2</li>
		      <li>节点3</li>
		      <li>节点4</li>
		      <li>节点5</li>
		      
		 </ul>
	</body>

5.3.3 替换节点

$("ul li:eq(1)").replaceWith($li) //等价下面的代码
$li.replaceAll($("ul li:eq(1)"))

5.3.4 克隆节点

复制节点

clone()用于复制某个节点(true:指示事件处理函数是会被复制,false:不会赋值)

 var $newli =  $("ul li:eq(0)").clone(true)
$("ul").append($newli))

5.3.5 刪除節點

remove():删除整个节点 (该方法会保留当前jquery对象,该方法会有返回值类型,是该节点)

detach():删除整个节点,保留元素的绑定事件、附加的数据

empty():清空节点内容 【不多】

5.3.6 移除元素的属性

removeAttr()用来删除元素的属性

语法功能
css()设置或返回匹配元素的样式属性
height([value])设置或返回匹配元素的高度
width([value])设置或返回匹配元素的宽度
offset([value])返回以像素为单位的top和left坐标。此方法仅对可见元素有效
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值