jQuery_01

113 阅读2分钟

1、jquery概念

jQuery是一个js类库,类库:其实就是一个js文件,别人提供的对象(属性和方法):压缩版(正式上线项目)和未压缩的源代码版

目的:简化js - DOM、事件、aja

2、jQuery的使用步骤:

1、引入jQuery.js文件

2、使用jQuery的API去获取元素

3、使用jQuery的API去操作元素

3、jQuery如何获取元素:

1、*工厂函数:

$(); 或者 jQuery();

作用:

(1)查找元素

var 元素=$("jQuery选择器") - jQuery选择器是基于css选择器,但是比css选择器更加的强大

www.w3school.com.cn/jquery/jque…

返回值:使用jQuery的工厂函数找到的元素,是一个jQuery对象集合,意味着不能使用以前的DOM方法去操作

①jq找到的元素的特点:

a、隐式迭代 - 不用循环,直接做操作

b、具有链式操作 - 可以不断的使用.一步接一步的做下去

c、jq元素 和 dom元素 两者方法不换乱用,只能自己用自己的

转换:jq -> dom:$("选择器")[i] - 只要加上下标就会变为DOM元素

千万不要对jq加下标,更不要循环

(2)将dom -> jq:$(dom元素) - 有用:e.srcElement得到的都是一个dom元素,要转为jQuery元素才能使用对应的方法

为什么一个方法可以实现多个操作

function $(){
    arguments - 重载:判断传入的实参的不同执行不同的操作
}

2、通过 节点之间的 关系:

1、父:$("xx").parent()
2、子:$("xx").children()
3、前一个兄弟:$("xx").prev();
4、后一个兄弟:$("xx").next();
5、*除了自己的其他兄弟:$("xx").siblings();

jQuery查找元素,返回值:jquery集合,可以直接做操作,切忌不要循环

4、操作元素

(1)内容:

html() - 底层就是dom的innerHTML - 能够识别标签

获取:$("xx").html();
设置:$("xx").html("新内容");

text() - 底层就是dom的innerText - 只能书写纯文本

获取:$("xx").text();
设置:$("xx").text("新内容");

val() - 底层就是dom的value - 单标签input、select&option

获取:$("xx").val();
设置:$("xx").val("新内容");	

(2)属性:

attr() - 底层就是dom的getAttribute/setAttribute - 自定义属性也可以操作

获取:$("xx").attr("属性名")
设置:$("xx").attr("属性名","属性值");
删除:$("xx").removeAttr("属性名")

专门提供了操作class的API:

1、追加class:$("xx").addClass("追加的class值")
2、删除class:$("xx").removeClass();
		没传参数,清空所有class
		传递实参,删除你传递的class
3、切换class:有此class和没有此class之间进行切换
$("xx").toggleClass("active");//在有active和没有active之间进行切换

(3)样式:

css() - 设置时依然是内联样式(优先级高,不会影响到其他元素),获取时不关注内联/内部/外部样式表,只管当前生效的

获取:$("xx").css("属性名");
设置:$("xx").css({
	"属性名":"属性值",
	...
      });

获取的目的:往往都是用于判断比较
设置的目的:修改

(4)创建&渲染

创建:var elem=$(`<开始标签 属性名='${属性值}'>${内容}</结束标签>`)

渲染:*父亲.append(elem);//后面,儿子
       父亲.prepend(elem);//前面,儿子
       兄弟.after(elem);//后面,兄弟
       兄弟.before(elem);//前面,兄弟

一句话创建并且渲染:父亲.append($(`<开始标签 属性名='${属性值}'>${内容}</结束标签>`));

   删除:$("xx").remove();

   克隆:$("xx").clone();

   *获取元素下标:$("xx").index();