# jQuery

1.引入

1-1.引入方式

<script src="js/jquery-2.2.3.min.js" 
        type="text/javascript" 
        charset="utf-8">
</script>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js" 
        type="text/javascript" 
        charset="utf-8"></script>

1-2.优点

  1. 代码简洁,开发效率高
  2. 多数不需要考虑js代码兼容性
  3. jq有很多js没有的好用的方法

1-3.简单代码

  • window加载结束函数
window.onload = function(){}
  • jQuery下的加载完毕函数
$(document).ready(function(){})
  • 或者
$(function(){ })

2.选择器

2-1.js下的选择操作

var div1 = document.getElementById("div1");
div1.innerHTML = "div1";

2-2.jQuery下的选择操作

//  通过选择器获取
$("#div1").html("div");
$(".div1").html("lalala");

// 伪类选择器
$("p:first").html("第一个");
$("p:last").html("最后一个");
                
//  选择第几个,从0开始数
$("p:eq(1)").html("eq");
                
$("p").first().html("diyige");
$("p").last().html("zuihouyige");
$("p").eq(1).html("eq");
                
//val() == value
//表示type属性为" "的input标签
$(":text").val("text");
$(":button").val("ok");
$(":submit").val("tijiao");

//even偶数、odd奇数
$("p:even()").css("background-color","red");
$("p:odd()").css("background-color","black");

对应的html代码为:

<div id="div1" class="div1">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <p>6</p>
    <p>7</p>
</div>
<input type="text" name="" id="" value="" />
<input type="button" name="" id="" value="" />

3.操作样式

3-1.设置一种样式

//设置一种样式
$("#div1").css("width","100px");

3-2.设置多种样式

//设置多种样式
$("#div1").css({"width":"200px",
                "height":"200px",
                "background-color":"green"});       

4.链式操作

$(document).ready(function(){
        $("#div1").css({
            "width":"100px",
            "height":"100px",
            "background-color":"red"
            });
        $("#div1").html("div1");
        $("#div1").val("div1");     
                
        //链式操作
        $("#div1").html("div2").val("div2").css({"width":"200px","height":"200px","background-color":"green"});
})

5.jq取值赋值

5-1.取值赋值一体化

//取值赋值一体化
$("#div1").html("div2");
console.log($("#div1").html());

5-2.取颜色时为RGB

//取颜色时,返回值格式为rgb格式
$("#div1").css("background-color","red");
console.log($("#div1").css("background-color"));

5-3.取值赋值多个元素

// js写法
var ps = document.getElementsByTagName("p");
for(var i = 0; i < ps.length; i++){
    ps[i].innerHTML = "p";
}

// jQuery写法
$(".div2 p").html("ppp");
console.log($("#div2 p").html());
//jq进行多个元素取值的时候,只会取首个元素的值,想取所有值,需要for循环
for(var i = 0; i < $("div").length; i++){
    console.log($("div").eq(i).html());
}

6.常用方法

<body>
        <div id="div1">
            <p></p>
            <p>
                <span>span1</span>
            </p>
            <div></div>
            <p class="p1" name="ppp"></p>
            <div></div>
            <a href=""></a>
        </div>
</body>

6-1.attr设置属性

//      attr : 设置属性
$("#div1").attr("class","div1");    
console.log($("#div1").attr("class"));  

6-2.index返回位置

//  index():返回该元素在同级元素中的位置,从0开始
console.log($(".p1").index());

6-3.过滤

//filter\not: 过滤。让查找更加精确。
//filter表示增加一个查找条件
//not表示去掉一个条件
$("p").filter(".p1").html("🐉");
$("p").not("[name=ppp]").html("白🐯");

6-4.has匹配查找

//has: 匹配到后代级中含有 has()里元素 的元素
//(从外向内匹配)
$("p").has("span").css("background-color","green");

6-5.find匹配后代元素

//find: 匹配某元素后代级满足find条件的元素
$("body").find("p").has("span").css("background-color","red");

7.js和DOM对象类型转换

<div id="div1"></div>
var div1 = document.getElementById("div1");
//把DOM对象转换为jq对象
$(div1).html("div1");
//把jq对象转换为DOM对象
$("#div1")[0].innerHTML = "div2";

8.操作DOM

8-1.文本节点

//文本节点
$("#div1").text("葫芦娃");
//清空
$("#div1").empty();

8-2.属性节点

//属性节点
$("#div1").attr("class","div");
console.log($("#div1").attr("class"));

8-3.元素节点操作

//创建
var newNode = $("<div class='div1'>div</div>");
//插入节点尾部
$("body").append(newNode);
newNode.appendTo($("body"));
//插入节点头部
$("body").prepend(newNode);
newNode.prependTo($("body"));
var newNode2 = $("<p class='p1'>p</p>");
//插入某节点前面
newNode2.insertBefore($("#div1"));
//插入某节点后面
newNode2.insertAfter($("#div1"));

8-4.删除节点

// 1.清空内容
newNode.empty();
// 2.移除
newNode.remove();

8-5.克隆节点

$("body").append(newNode.clone());

8-6.替换节点

//替换replaceWith\replaceAll
$(".p1").replaceWith("<a href=###>123</a>");
$("<a href=###>123</a>").replaceAll($(".p1"));

8-7.包裹节点

// (1)wrap: 给多个元素每一个元素外包一个元素
$(".p1").wrap("<div value=div1></div>");

//  (2)wrapAll: 给多个元素外整体包一个元素
// 如果多个元素不相邻,则还是包一个整体,放在第一个该元素的位置
$(".p1").wrapAll("<div value=div1></div>");

//  (3)wrapInner: 在某元素下添加元素,用来包裹该元素的所有内容。
$(".p1").wrapInner("<span></span>")
<body>
    <p class="p1"></p>
    <div id="div1"></div>
    <p class="p1">
        <span class="span1"></span>
    </p>    
</body>

9.jq事件

// jq事件:on
$(document).on("click",function(){
    alert("click");
});
// hide()隐藏、show()显示
var bool = true;
$("#btn").on("click",function(){
    if(bool){
        $("#div1").hide();
    }else{
        $("#div1").show();
    }
    bool = !bool;
})
//  toggle():显示隐藏
$("#btn").on("click",function(){
    $("#div1").toggle();
})
<input type="button" name="" id="btn" value="显示" />
<div id="div1"></div>

Bootstrap

头信息

<link rel="stylesheet" href="/resources/bs/css/bootstrap.css">
<script src="/resources/js/jquery-3.2.1.min.js"></script>
<script src="/resources/bs/js/bootstrap.js"></script>

<meta name="viewport" content="width=device-width, initial-scale=1">

参考文档

中文文档地址

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

推荐阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,162评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,325评论 0 2
  • jQuery基础 什么是JQ?一个优秀的JS库,大型开发必备JQ的好处?一简化JS的复杂操作二不再需要关心兼容性三...
    幺七阅读 935评论 0 2
  • JQuery实战 1.JQuery 基础 1.2不唐突的JS1.2.1行为和结构分离分为组织结构、样式、行为三部分...
    vernwang阅读 1,070评论 1 49
  • 以前听见别人为了钱又怎么怎么了,下意识就会想那人怎么那么物质啊。和朋友出去吃饭,也不会跟朋友AA,因为是朋友,谈钱...
    呱聊阅读 498评论 1 0