day9-jQuery

十七.什么是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(){
//
// }
//等待页面中所有的标签添加成功,就会触发
// (document).ready(function(){ // console.log(document.getElementsByTagName('p')[0]) // }) //简写版(function(){
console.log(document.getElementsByTagName('p')[0])
//2.获取节点操作(选择器)
//a.选择器直接选中相应的标签
//(选择器) - 选择器是在css中怎么写这儿就怎么写 //('标签选择器') - 选择网页中所有的指定标签,返回的是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">
(function(){ //1.普通属性的获取和修改 - 除了innerHTML,innerText和value //标签.attr(属性名) - 获取指定的属性值 //标签.attr(属性名,值) - 修改/添加属性 var text1 =('img:gt(1)').attr('src') //获取属性的值的时候只获取被选中标签中的第一个
console.log(text1)
console.log(('a').attr('href'))('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()
        })
        //下面删除的是默认的 新添加的删不了

// ('#top font').on('click',function(){ //(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 = ('<img style="width: 100px;height: 100px;"/>').attr('src',bimageuri)('body').append(imgNode)
}
})
}
//2.刷新
$('button').on('click',getData)
</script>
</body>
</html>

作者:2ez4ddf
链接:https://www.jianshu.com/p/9887a086c38e
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,424评论 1 45
  • jQuery知识点 1 基础知识 jQuery API网站:jQuery库网站 知识点解读原生JS与jQuery代...
    果木山阅读 180评论 0 0
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,570评论 0 7
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,721评论 2 17
  • 印象中30年来第二次发烧,三年前发烧过一次。这两次发烧共性的问题是自己竟决然不知。 三天前就感觉浑身发冷。冷到半夜...
    彩云说事儿阅读 211评论 1 1