1.思维导图

2.代码部分
自定义myjs脚本库
<head>
<title>自定义myjs脚本库</title>
<script>
function fn1() {
//获取div元素
var ele = document.getElementById("div1");
// 获取 div元素标签内容
console.log(ele.innerHTML);
//设置div元素标签内容
ele.innerHTML = "this is a div1";
// 获取 div元素标签内容
console.log(ele.innerHTML);
}
function fn2() {
//获取div元素
var ele = document.getElementById("div2");
// 获取 div元素标签内容
console.log(ele.innerHTML);
//设置div元素标签内容
ele.innerHTML = "this is a div2";
// 获取 div元素标签内容
console.log(ele.innerHTML);
}
</script>
</head>
<body>
<div id="div1">
这是一个div1
</div>
<div id="div2">
这是一个div2
</div>
<div id="div3">
这是一个div3
</div>
<button onclick="fn1()">操作1</button>
<button onclick="fn2()">操作2</button>
</body>
function $(id) {
var ele = document.getElementById(id);
//给ele添加一个方法,方法名叫html,形参content
ele.html = function (content) {
if (content != null) { //如果content不为空,就将content设置到ele对象中
ele.innerHTML = content;
} else { // 如果content为空,就获取ele的内容
return ele.innerHTML;
}
}
return ele;
}
<head>
<title>自定义myjs脚本库</title>
<script src="${pageContext.request.contextPath}/js/myjs.js"></script>
<script>
function fn1() {
var content = $("div1").html();
console.log(content);
}
function fn2() {
// var ele = $("div1");
// ele.html("this is a Div");
$("div1").html("this is a div")
}
</script>
</head>
<body>
<div id="div1">
这是一个div1
</div>
<button onclick="fn1()">获取</button>
<button onclick="fn2()">设置</button>
</body>
jQuery
<head>
<title>基本使用</title>
<script src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script>
function fn1() {
//$("选择器") -> 元素对应的jquery对象
var ele = $("#div1");
var content = ele.html();
console.log(content);
}
function fn2() {
//ele不是js对象,而是一个jquery对象
var ele = $("#div1");
ele.html("this is a div");
}
</script>
</head>
<body>
<div id="div1">
这是一个div
</div>
<button onclick="fn1()">获取</button>
<button onclick="fn2()">设置</button>
</body>
<head>
<title>jQuery对象和js对象</title>
<script src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script>
function fn1() {
//获取js对象
var jsObject = document.getElementById("div1");
//js对象能否使用jquery对象的属性和方法?
jsObject.html("this is a div");
}
function fn2() {
var jqObject = $("#div1");
//jquery对象能否使用js对象的属性和方法?
jqObject.innerHTML = "this is a div";
}
//需求:已有js对象,让js对象调用jquery对象的属性和方法
//将js对象转换成jquery对象
function fn3() {
//获取js对象
var jsObject = document.getElementById("div1");
//将js对象 -> jquery对象
var jqObject = $(jsObject);
//调用jquery对象的属性和方法
jqObject.html("this is a div!!!");
}
//需求:已有jquery对象,让jquery对象调用js对象的属性和方法,
//将jquery对象转换成js对象
function fn4() {
//获取jquery对象
var jqObject = $("#div1");
//jquery对象 -> js对象
// var jsObject = jqObject.get(0);
var jsObject = jqObject[0];
//调用js对象的属性和方法
jsObject.innerHTML = "this is a div ???";
}
</script>
</head>
<body>
<div id="div1">
这是一个div
</div>
<button onclick="fn1()">操作1</button>
<button onclick="fn2()">操作2</button>
<button onclick="fn3()">转换1</button>
<button onclick="fn4()">转换2</button>
</body>
jQuery选择器
<script>
//选择id为one的元素 ID选择器
function fn1(){
$("#one").css("background-color","orange");
}
//选择class为mini的所有元素 类选择器
function fn2(){
$(".mini").css("background-color","pink");
}
//选择元素名是div的所有元素 标签选择器
function fn3(){
$("div").css("background-color","lightpink");
}
//选择所有的元素 通配符选择器
function fn4(){
$("*").css("background-color","pink")
}
</script>
//选择body内的所有div元素 $("a b")
function fn1(){
$("body div").css("background-color","pink");
}
//在body内选择子元素是div的 $("a > b")
function fn2(){
$("body > div").css("background-color","pink");
}
//选择所有id为one的下一个兄弟div元素 $("a + b")
function fn3(){
$("#one + div").css("background-color","pink");
}
//选择id为two的元素后面的所有div兄弟元素 $("a ~ b")
function fn4(){
$("#one ~ div").css("background-color","pink");
}
//选择第一个DIV元素
function fn1(){
$("div:first").css("background-color","pink");
}
//选择最后一个div元素
function fn2(){
$("div:last").css("background-color","pink");
}
//选择class不为one的所有div元素 $('dom:not(.one)')
function fn3(){
$("div:not(.one)").css("background-color","pink");
}
//选择索引值为偶数的div元素 even:偶数 odd:奇数
function fn4(){
$("div:even").css("background-color","pink");
}
//选择索引值为奇数的div元素
function fn5(){
$("div:odd").css("background-color","pink");
}
//选择索引值等于3的元素
function fn6(){
$("div:eq(3)").css("background-color","pink");
}
//选择索引值大于3的元素
function fn7(){
$("div:gt(3)").css("background-color","pink");
}
//选择索引值小于3的元素
function fn8(){
$("div:lt(3)").css("background-color","pink");
}
//选取含有文本"di"的div元素 $("tagName:contains('str')")
function fn1(){
$("div:contains('di')").css("background-color","pink");
}
//选取不包含子元素(或者文本元素)的div空元素. $("tagName:empty");
function fn2(){
$("div:empty").css("background-color","pink");
}
//选取含有class为mini元素 的div元素. $("tagName:has(.mini)")
//1.选中的是DIV元素
//2.子元素中的class值为mini
function fn3(){
$("div:has(.mini)").css("background-color","pink");
}
//选取含有属性title的div元素. $("tagName[title]");
function fn1(){
$("div[title]").css("background-color","red");
}
//选取属性title值等于test的div元素. $("tagName[title='test']")
function fn2(){
$("div[title='test']").css("background-color","pink");
}
//选取属性title值不等于test的div元素. !=
function fn3(){
$("div[title!='test']").css("background-color","pink");
}
//选取属性title值以te开始 的div元素. ^=
function fn4(){
$("div[title^='te']").css("background-color","pink");
}
//选取属性title值以est结束的div元素. $=
function fn5(){
$("div[title$='est']").css("background-color","pink");
}
//选取属性title值含有es的div元素. *=
function fn6(){
$("div[title*='es']").css("background-color","pink");
}
//组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有 es 的元素.
function fn7(){
$("div[id][title*='es']").css("background-color","pink");
}
//选取class为one的div下的第2个子元素
function fn1(){
$("div[class='one'] :nth-child(2)").css("background-color","pink");
}
//选取class为one的div下的第1个子元素
function fn2(){
// $("div[class='one'] :nth-child(1)").css("background-color","pink");
$("div[class='one'] :first-child").css("background-color","pink");
}
//选取每个父元素下的最后一个子元素
function fn3(){
$("div :last-child").css("background-color","pink");
}
//如果父元素下的仅仅只有一个子元素,那么选中这个子元素
function fn4(){
$("div :only-child").css("background-color","pink");
}
jQuery的dom操作
<head>
<title>jQuery的dom操作</title>
<script src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script>
function fn1() {
$("#div1").html("<font color='red'>红色</font>")
}
function fn2() {
$("#div1").text("<font color='green'>绿色</font>")
}
function fn3() {
// $("#username").val("设置");
console.log($("#username").val())
}
function fn4() {
$("#div1").attr("class","bbbb");
console.log($("#div1").attr("class"));
}
function fn5() {
$("#div1").removeAttr("class");
console.log($("#div1").attr("class"));
}
</script>
</head>
<body>
<div id="div1" class="aaaa">
这是一个div
</div>
<input type="text" id="username"/>
<button onclick="fn1()">html()</button>
<button onclick="fn2()">text()</button>
<button onclick="fn3()">val()</button>
<button onclick="fn4()">attr()</button>
<button onclick="fn5()">removeAttr()</button>
</body>