当前位置: 首页 > 编程日记 > 正文

前端基础之JQuery

一、什么是JQuery

[1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。

[2]   jQuery是一种新型的JavaScript库。jq是用js写的,能用jq实现,用js都能实现,JQuery的api只对自己开放,jq不能用js的API,js也不能用jq的API

[3]  它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器

[4]  jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

[5]  jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

二、JQuery对象

`jQuery 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的如果一个对象是 jQuery 对象那么它就可以使用 jQuery 里的方法: $(“#test”).html();

$("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 这段代码等同于用JS实现代码: document.getElementById(" test ").innerHTML; 虽然jQuery对象是包装JS对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理JS对象也不能使用jQuery里的方法.乱使用会报错约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$. var $variable = jQuery 对象
var variable = DOM (JS)对象$variable[0]:jquery对象转为dom对象      $("#msg").html(); $("#msg")[0].innerHTML

JQ对象与JS(DOM)对象转换:

     //js-->jQueryvar oBox = document.getElementById("box");oBox.innerHTML = "888";
  $(oBox).html(
"888")//jq-->jsvar $p = $("#box p");$p.html("11111");$p[0].innerHTML("111");$p.get(2).innerHTML = "111";//jq--->特定的jqvar $p = $("#box p");$p.html("333");$p.eq(1).html("888");

三、JQ选择器和筛选器

基本选择器      
$("*")  $("#id")   $(".class")  $("element")  $(".class,p,div")分别是:全部、id、class、标签、多选
层级选择器   
$(".outer div")  $(".outer>div")   $(".outer+div")  $(".outer~div")分别是:后代、子代、相邻、兄弟
属性选择器
$('[id="div1"]')   $('["alex="sb"][id]')分别是:对定义的属性进行选择
表单选择器      
$("[type='text']")----->$(":text")     注意只适用于input标签  : $("input:checked")

表单选择器:

    :enabled:disabled:checked:selected

基本筛选器:

基本筛选器  a = $("li:first")    //取第一个
        console.log(a)b = $("li:eq(2)")    //取索引为2的那一个
        console.log(b)c = $("li:even")     //先取第一个隔一个再取
        console.log(c)d = $("li:gt(3)")    //隔几个再取console.log(d)    

筛选器方式二:

$("li").eq(2)  $("li").first()  $("ul li").hasclass("test")

关系筛选器

        // hasClass 检查当前元素是否含有某个特定的类,如果有返回True.否则返回False// children 找儿子,可以不传参数// find 默认不找,传参的话找对应参数的后代// parent 找父级,b不需要参数// parents(".show") 找到名字叫做show的祖先// sibings 不传参,找对应参数的兄弟// alert($("p").hasClass("box2"))  Falseconsole.log($("#box").children("p"));console.log($("#box").children());console.log($("#box").find("p"))    

例:

 查找子标签:          $("div").children(".test")      $("div").find(".test")  向下查找兄弟标签:     $(".test").next()               $(".test").nextAll()     $(".test").nextUntil() 向上查找兄弟标签:     $("div").prev()                  $("div").prevAll()       $("div").prevUntil()   查找所有兄弟标签:     $("div").siblings()  查找父标签:          $(".test").parent()              $(".test").parents()     $(".test").parentUntil() 

属性操作

        // attr 设置/获取 标签属性// removAttr()  移除标签属性//
        // addClass// removeClass()//     传入参数,class,则移除对应的class//     若不传人参数,则移除全部// toggleClass()//     有class就删除,没有就增加//
        // jQuery    js//
        // html()     innerHTML// text()     innerText// val()      valuevar $box = $("#box");alert($box.attr("class"))$box.attr("class","小婆")$box.attr("py","xp");$box.removeAttr()    

关于attr深入:

<input id="chk1" type="checkbox" />是否可见
<input id="chk2" type="checkbox" checked="checked" />是否可见<script>//对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
//对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
//像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此
//需要使用prop方法去操作才能获得正确的结果。//    $("#chk1").attr("checked")
//    undefined
//    $("#chk1").prop("checked")
//    false//  ---------手动选中的时候attr()获得到没有意义的undefined-----------
//    $("#chk1").attr("checked")
//    undefined
//    $("#chk1").prop("checked")
//    true
console.log($("#chk1").prop("checked"));//falseconsole.log($("#chk2").prop("checked"));//trueconsole.log($("#chk1").attr("checked"));//undefinedconsole.log($("#chk2").attr("checked"));//checked
</script>
View Code

文档节点,即html标签等操作

//创建一个标签对象$("<p>")//内部插入
$("").append(content|fn)      ----->$("p").append("<b>Hello</b>");$("").appendTo(content)       ----->$("p").appendTo("div");$("").prepend(content|fn)     ----->$("p").prepend("<b>Hello</b>");$("").prependTo(content)      ----->$("p").prependTo("#foo");//外部插入
$("").after(content|fn)       ----->$("p").after("<b>Hello</b>");$("").before(content|fn)      ----->$("p").before("<b>Hello</b>");$("").insertAfter(content)    ----->$("p").insertAfter("#foo");$("").insertBefore(content)   ----->$("p").insertBefore("#foo");//替换$("").replaceWith(content|fn) ----->$("p").replaceWith("<b>Paragraph. </b>");//删除
$("").empty()$("").remove([expr])//复制
$("").clone([Even[,deepEven]])

JQ事件:

事件绑定:

var $box = $("box");$box.click(function () {alert(1)})

事件委派,是绑定事件的另一方式,可以绑定多个事件

语法:$("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数。
eve:事件类型
fn:函数
//on绑定单个事件$("li").on("click",function () {alert($(this).index())    //在jq里面index()是你对应的下标
    })
//on绑定多个事件$("#box").on({"click":function () {alert(1);},"click2":function () {alert(1);},"click3":function () {alert(3)}

each遍历(循环):

//方法一
//格式:$.each(obj,fn)
$("#box p").each(function (i) {this.innerHTML = "我是第" + i +"个";$(this).html("我是第"+ i + "个");})//方法二
//格式:$("").each(fn)
li=[10,20,30,40];
dic={name:"yuan",sex:"male"};
$.each(li,function(i,x){console.log(i,x)
});

JQ的css操作:

// css设置样式// .css()// 以下是返回对应的的信息// .width()// .height()//
        // innerWidth()  / innerHeight 会算上padding// outerWidth() / outerHeight 会算上 padding+border//
        // offset()//     该对象有top/left属性//     代表的是到浏览器的值//
        // position()//     该对象有top/left属性//     代表的是到父级的值// var $box = $("#box");// $box.css("height","200px");// // oBox.style.height = "200px";  当然要获取oBox// // $box.css({// //     "width":"400px",// //     "height":"300px",// //     "background":"red"// // })给多个样式// alert($box.width())// alert($box.height())

转载于:https://www.cnblogs.com/tashanzhishi/p/9201778.html

相关文章:

测试linux下磁盘的读写速率

1&#xff09; 通过df -h命令查看磁盘情况Filesystem Size Used Avail Use% Mounted on/dev/sda4 289G 61G 214G 23% /tmpfs 7.8G 0 7.8G 0% /dev/shm/dev/sda2 969M 62M 857M 7% /boot/dev/sda1 …

multipart request_Request和Response

Response讲解7.1 Response简介定义辅助 servlet 将响应发送到客户端的对象。servlet 容器创建 ServletResponse 对象&#xff0c;并将它作为参数传递给 servlet 的 service 方法。 要发送 MIME 正文响应中的二进制数据&#xff0c;请使用 #getOutputStream 返回的 ServletOutpu…

SharePoint 客户端经常弹出Windows验证登录框问题

场景描述&#xff1a; Site工作人员UserA创建了一个Task&#xff0c;并且Assign给UserB。UserB接到来自Task List的邮件通知。这时UserA发现Assign的人错了&#xff0c;重新修改Task Item&#xff0c;将任务重新Assign给另外一个用户UserC&#xff0c;并且同时收回了UserB的访问…

SkFlattenable /Registrar/

/** \class SkFlattenableSkFlattenable is the base class for objects that need to be flattenedinto a data stream for either transport or as part of the key to thefont cache.*/ class SK_API SkFlattenable : public SkRefCnt {}以SkFlattenable为基类的对象是&…

启动 ServiceFabric Windows服务报1053

Remote Procedure Call (RPC) Locator和 Windows Firewall是否启动。 以管理员身份运行PowerShell&#xff0c;输入Unregister-ScheduledTask FabricCounters&#xff0c;然后输入Y。 到这一步基本OK了 右下角reset sf后查看是否存在 X:\SfDevCluster\Data\ImageStoreShare 文件…

Spring基础面试题(一)

Spring是什么&#xff1f;Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架&#xff0c;目的是用于简化企业应用程序的开发&#xff0c;它使得开发者只需要关心业务需求。常见的配置方式有三种&#xff1a;基于XML的配置、基于注解的配置、基于…

C#线程间操作无效: 从不是创建控件 XX 的线程访问它

转自&#xff1a;http://www.arasplm.net/index.php/zh/community/myblog/c-xx-.html 前些天做的要使用到线程的项目&#xff0c;现在和大家分享一下感受&#xff01; 以下面小列子为例&#xff0c;给出这个问题的解决办法。下面的列子是以一个计数器为列讲解的。 public Form1…

boost安装_【环境搭建】源码安装Boost

写C的话boost是必不可少的&#xff0c;本文将boost的安装过程用写成脚本&#xff0c;直接一行命令解决整个编译安装过程&#xff1a;sudo bash boost-linux-installer.sh下面是boost-linux-installer.sh的内容&#xff1a;#!/usr/bin/env bash

css新闻列表优化-突破思维新方法更利于搜索引擎

效果图如下&#xff1a; 也许你会认为这个是很简单的&#xff0c;呵呵那是因为一般写这个列表的时候用的都是时间写在前面&#xff0c;标题写在后面&#xff0c;那样对于显示来说是先有时间后有标题的&#xff0c;对搜索引擎不是很友好。 老方法大概是这样的&#xff1a; html代…

STL使用记录

1&#xff0c;map 对map实在不熟。。。赶紧记录一下用法吧。 后来再发现新的用法再补充吧 定义&#xff1a; map<int, int> m; 其中的int可以为自定义的任何类型。 m[key值类型的变量] value值&#xff1b; 但是注意如果key值是自定义的结构体的话&#xff0c;一定要重载…

Linux tcpdump命令详解与Wireshark

简介 用简单的话来定义tcpdump&#xff0c;就是&#xff1a;dump the traffic on a network&#xff0c;根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过…

dubbo yml配置_利用springboot+dubbo,构建分布式微服务,全程注解开发(一)

随着互联网的发展&#xff0c;网站应用的规模不断扩大&#xff0c;常规的垂直应用架构已无法应对&#xff0c;分布式服务架构以及流动计算架构势在必行&#xff0c;亟需一个治理系统确保架构有条不紊的演进。一、先来一张图说起 Dubbo&#xff0c;相信大家都不会陌生&#xff0…

treeview 保持选中状态

发现当treeview控件失去焦点的时候&#xff0c;会丢失选中状态的指示&#xff08;条目的蓝色背景&#xff09;。如果想要保持&#xff0c;只要设置treeview的一个属性即可&#xff1a; this.treeView1.HideSelection false; 但是&#xff0c;发现阴影很浅&#xff0c;但是聊胜…

1-2-Active Directory 域服务准备概述

参照: http://technet.microsoft.com/zh-cn/library/gg398869.aspx Active Directory 域服务准备概述 上一次修改主题&#xff1a; 2010-12-09 要为 Microsoft Lync Server 2010 部署准备 Active Directory 域服务 (AD DS)&#xff0c;必须按照特定顺序执行三个步骤。 下表介绍…

iOS----------拨打电话的3种方式

iOS实现拨打电话的方式&#xff1a;方法一、requestWithURL&#xff0c;此方法拨打前弹出提示NSMutableString * string [[NSMutableString alloc] initWithFormat:"tel:%","136****0000"];UIWebView * callWebview [[UIWebView alloc] init];[callWebvi…

linux命令 iperf-网络性能测试工具

iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽&#xff0c;具有多种参数和UDP特性。iperf可以报告带宽&#xff0c;延迟抖动和数据包丢失。利用iperf这一特性&#xff0c;可以用来测试一些网络设备如路由器&#xff0c;防火墙&am…

SearchHit转成java对象_Java开发中最常犯的10个错误,你中招了吗?

http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/阅读目录Array转ArrayList判断一个数组是否包含某个值在循环内部删除List中的一个元素HashTable与HashMap使用集合原始类型(raw type)访问级别ArrayList和LinkedList可变与不可变父类和子类的构造方…

hdu1160FatMouse's Speed(DP)

http://acm.hdu.edu.cn/showproblem.php?pid1160 1A 破题敲了一个多小时 最长上升子序列和最长下降子序列合起来 并把路径保留下来 题中是可以打乱顺序去找的 先按W上升或S下降排下序 再按最升和最降做 View Code 1 #include <iostream>2 #include<cstdio>3 #inc…

五、springcloud之客户端负载均衡Ribbon

一、简介 在微服务架构中&#xff0c;业务都会被拆分成一个独立的服务&#xff0c;服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式&#xff1a; 一种是ribbonrestTemplate&#xff0c; 另一种是feign。 ribbon是一个负载均衡客户端&#xff0c;可以很好…

fiddler 抓取winform wcf包

修改客户端配置<system.net> <defaultProxy> <proxy bypassonlocal"false" usesystemdefault"true" /> </defaultProxy> </system.net> 最好使用机器名替换 localhost 2 fiddler 过滤设置 3 查看抓包数据 fiddler 抓包官方说…

dhcp报文_动态地址分配DHCP,IP地址管理方式及分配原则,一分钟了解下

一、DHCP简介DHCP(Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议)用来为网络设备动态地分配 IP地址等网络配置参数。DHCP 采用客户端/服务器通信模式&#xff0c;由客户端向服务器提出请求分配网络配置参数的申请&#xff0c;服务器返回为客户端分配的 IP …

不同浏览器的怪癖小结【转】

1.在设置div top,left是必须一起设置&#xff0c;否则对象消失 ,说明层postion设为fixed document.getElementById("mydiv").style.top10"px"; document.getElementById("mydiv").style.left10"px"; 在chrome下测试没有这个问题 2.获取…

成长必经的低谷已经来了么?

90年出生的我,已经在IT里面走了2年了.小时候出生在一个村落.后来一直在城市中生活着. 一开始学习时,对自己的未来充满着希望,如今,却在找工作中,不断的徘徊. 其实一开始想学习的是编写程序.这源于我一开始对网络的认识.那时候第一次接触到了电脑,记得是一台联想的台式机器,慢慢…

Go指南练习_错误

源地址 https://tour.go-zh.org/methods/20 一、题目描述 从之前的练习中复制 Sqrt 函数&#xff0c;修改它使其返回 error 值。 Sqrt 接受到一个负数时&#xff0c;应当返回一个非 nil 的错误值。复数同样也不被支持。 创建一个新的类型 type ErrNegativeSqrt float64 并为其实…

java基础编程题(1)

1、 题目&#xff1a;打印出杨辉三角形&#xff08;要求打印出10行如下图&#xff09; 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1...... package com.jzq.test1;/*** 题目&#xff1a;打印出杨辉三角形&#xff08;要求打印出10行如下图&#x…

poj_2762,弱连通

http://poj.org/problem?id2762 这题是求弱连通 弱连通就是无向图强连通&#xff08;基图是有向图&#xff09; 思路&#xff1a;先targan缩点&#xff0c;然后这些点求最长链 也就是这些点&#xff08;缩点&#xff09;在一棵树上&#xff0c;这棵树的深度应该为强连通分量个…

tp数组转为json_数据存储—JSON

JSON文件存储JSON全称JavaScript Object Notation&#xff0c;也就是JavaScript对象标记&#xff0c;它通过对象和数组的组合来表示数据。1、对象和数组对象&#xff1a;在JavaScript中是使用花括号{}包裹起来的内容&#xff0c;数据结构为{key&#xff1a;value&#xff0c;ke…

VMWARE HOST-ONLY方式共享上网

在HOST-ONLY网络模式下&#xff0c;虚拟系统的网卡连接到宿主计算机的VMware Network Adapter VMnet1网卡上。如果要让VMware的虚拟机可以访问外网&#xff0c;则主系统必须共享网络连接。 具体操作步骤如下&#xff1a; 1. 通过网络连接&#xff0c;打开拨号连接的属性&#x…

tensorflow基于csv数据集实现多元线性回归并预测

#coding:utf8 import tensorflow as tf from sklearn import linear_model from sklearn import preprocessing import numpy as npdef read_data(file_queue):the function is to get features and label (即样本特征和样本的标签&#xff09;数据来源是csv的文件&#xff0c;…

ab测试nginx Nginx性能优化

转自&#xff1a;https://www.cnblogs.com/nulige/p/9369700.html 1.性能优化概述 在做性能优化前, 我们需要对如下进行考虑 1.当前系统结构瓶颈 观察指标压力测试2.了解业务模式 接口业务类型系统层次化结构3.性能与安全 性能好安全弱安全好性能低2.压力测试工具 1.安装压力测…