十七.什么是jQuery
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
//1.等待加载完成
// window.onload = function(){
//
// }
//等待页面中所有的标签添加成功,就会触发
// (function(){
console.log(document.getElementsByTagName('p')[0])
//2.获取节点操作(选择器)
//a.选择器直接选中相应的标签
//('标签选择器') - 选择网页中所有的指定标签,返回的是jQuery对象,不是数组
//注意:如果选择器同时选中了多个,返回值和选中一个的时候的类型是一样的。
// 可以通过结果直接对选中的所有标签一起操作
var divNodes = $('div')
console.log('==========',divNodes)
divNodes.css('color','red')
var div11Node = $('#div11')
console.log(div11Node)
console.log($('.cdiv1'))
console.log($('a,p'))
console.log($('#div2 a'))
//父子选择器
console.log($('#div2>a')) //和后代选择器效果一样
console.log($('p+a')) //获取紧跟着p标签的a标签
console.log($('#p1~*')) //获取和id是p1的标签的后面的所有同级的标签
console.log($('div:first')) //第一个div标签
console.log($('p:last')) //最后一个p标签
console.log($('div *:first-child')) //找到所有div标签中的第一个子标签
//3.创建标签
//$('HTML标签语法'),例如:$('<div style="color:red">我是div</div>')
var imgNode = $('<img src="img/01.jpg"/>')
var divNode = $('<div style="background-color: yellow;width: 100px;height: 200px;"></div>')
//4.添加标签
/*
* 父标签.append(子标签) - 在父标签的最后添加子标签
* 父标签.prepend(子标签) - 在父标签的最前添加子标签
*/
$('body').append(imgNode)
$('body').prepend(divNode)
$('h1').before($('<h1 style="color: pink;">我是标题0</h1>'))
$('h1').after($('<h2 style="color: blue;">我是标题2</h2>'))
//5.删除标签
//标签.empty() - 清空指定标签
//标签.remove() - 删除指定标签
$('#div2').empty()
$('h1').remove()
//6.拷贝和替换(见手册)
})
</script>
</head>
<body>
<div id="">
你好
</div>
<p id="p0">我是段落0</p>
<a href="">百度0</a>
<div id="div1" class="cdiv1">
<p id="p1">我是段落</p>
<a href="">百度1</a>
<div id="div11">
我是div11
</div>
<h1>我是标题1</h1>
<a href="">百度11</a>
</div>
<div id="div2">
<a href="">百度2</a>
我是div2
<p id="p2">我是段落2</p>
</div>
</body>
</html>
十八.jQuery属性操作和样式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
('img:gt(1)').attr('src') //获取属性的值的时候只获取被选中标签中的第一个
console.log(text1)
console.log(('img').attr('title','图片1')//修改和添加会针对所有选中的标签
//2.标签内容属性
//双标签.html()
//双标签.text()
//单标签.val()
//注意:上面的函数不传参就是获取值,传参就是修改值
console.log($('p').html()) //全完整代码
console.log($('p').text()) //只取文字
console.log($('input').val()) //单标签中的val值
$('p').html('我是新的段落')
$('input').val('请输入账号')
//3.class属性 - HTML中一个标签可以有多个class值,多个值用空格隔开
//标签.addClas(class值) - 给目标签添加class值
//标签.removeClass(class值) - 移出标签中指定的class值
$('div').addClass('w')
$('#div1').removeClass('c')
//4.样式属性
//a.获取属性值
//标签.css(样式属性名)-获取样式属性值
var height = $('p').css('height')
console.log(height)
//b.修改和添加
//标签.css(样式属性名,值) - 修改属性值
$('p').css('background-color','red')
//标签.css({属性名:值,属性名2:值2...}) - 同时设置多个属性
$('p').css({
"color":"yellow",
"font-size":"30px"
})
// var pNode = document.getElementsByTagName('p')[0]
// pNode.style.height = '500px'
// console.log('高度:',pNode.style.height)
// console.log('宽度:',pNode.style.width)
//5.事件
//标签.on(事件名,回调函数) - 给标签绑定指定的事件(和js中的addEventLinsenner一样)
//事件名不需要on
var ddf = true
$('button:first').on('mouseover',function(){
console.log(this)
//注意:this - js对象,可以直接只有js的属性和方法
//$(this) - jQuery对象,可以使用jQuery对象的属性和方法
//$(js对象) - 将js对象转换成jQuery对象
//this.innerText = '进入!'
if(ddf){
$(this).text('进入~')
ddf = false
}
else{
$(this).text('修改')
ddf = true
}
})
//b.父标签.on(事件名,选择器,回调函数) - 在父标签上添加事件,传递给选择器对应的子标签
//选择器 - 前面标签的后代标签(子标签/子标签的子标签)
//事件是由子标签影响的 前面父标签点不了
$('#v01').on('click','.v011 .v0111',function(){
console.log(this)
})
})
</script>
<style type="text/css">
.b{
background-color: green;
}
.c{
color: red;
}
.h{
height: 100px;
}
.w{
width: 200px;
/*background-color: skyblue;*/
}
p{
height: 50px;
}
#v01,#v02{
width: 800px;
height: 200px;
background-color: orange;
}
#v02{
background-color: gold;
}
.v011{
width: 100px;
height: 100px;
background-color: saddlebrown;
margin-right: 10px;
float: left;
}
</style>
</head>
<body>
<div id="v01" class="">
<div id="v011" class="v011">
div1
<div class="v0111" style="width: 50px;height: 50px;background-color: grey;">
</div>
</div>
<div id="v012" class="v011">
div2
</div>
<div id="v013" class="v011">
div3
</div>
</div>
<div id="v02"></div>
<button>修改</button>
<div id="div1" class="b c">
div1
</div>
<div id="" class="c h">
div2
</div>
<div id="" class="b h">
div3
</div>
<p style="width: 300px;">我是段落<a href="">哈哈</a></p>
<a href="http://www.baidu.com">我是超链接</a>
<img src="img/02.jpg"/ id="img1">
<input type="text" id="" value="请输入..." />
<img src="img/03.jpg"/>
<img src="img/04.jpg"/>
<input type="text" id="" value="" />
</body>
</html>
十九.jQuery的动态添加和删除
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<style type="text/css">
.fruit{
width: 150px;
height: 50px;
background-color: violet;
margin-bottom: 10px;
text-align: center;
line-height: 50px;
position: relative;
}
.fruit font{
position: absolute;
right: 10px;
color: white;
}
</style>
</head>
<body>
<div id="top">
</div>
<!--添加默认显示的结果-->
<script type="text/javascript">
var fruitArray = ['苹果','菠萝','西瓜','火龙果']
for(var x in fruitArray){
//去水果名
var fruitName = fruitArray[x]
//创建标检对象
var fruitNode = $("<div class='ruit'>"+fruitName+"</div>")
fruitNode.append($('<font>x</font>'))
$('#top').append(fruitNode)
}
</script>
<div id="bottom">
<input type="text" placeholder="水果"/>
<button>添加</button>
</div>
<!--添加新水果-->
<script type="text/javascript">
$('#bottom button').on('click',function(){
//获取输入框中的内容
var newName = $('#bottom input').val()
//创建新标签
var newNode = $('<div class="fruit"></div>').text(newName)
newNode.append($('<font>x</font>'))
//添加
$('#top').prepend(newNode)
})
//删除水果
$('#top').on('click','font',function(){
$(this).parent().remove()
})
//下面删除的是默认的 新添加的删不了
// (this).parent().remove()
// })
</script>
</body>
</html>
20.Ajax
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
<button>刷新</button><br />
<script type="text/javascript">
//1.请求数据
function getData(){
var url = 'https://www.apiopen.top/satinApi'
$.get(url,{'type':'1','page':'1'},function(re){
//re就是请求结果
console.log(re)
var allData = re.data
for(var x in allData){
var data = allData[x]
// console.log(data)
var bimageuri = data.profile_image
var imgNode = ('body').append(imgNode)
}
})
}
//2.刷新
$('button').on('click',getData)
</script>
</body>
</html>
作者:2ez4ddf
链接:https://www.jianshu.com/p/9887a086c38e
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。