jQuery 就是对js进行了封装
只有jQuery能调用$()
开发环境.js
运行环境.min.js
<script>
//执行文档加载事件
$(docment).ready(function(){ })
$(function(){ })
简写
$(function(){
----------------------------------------------------
var h1=document.getElementById("").innerText;
等效于: var h2=$("#hId").text();
命名规则:一定要有引号
var $h1=$("#hId")
---------------------------------------------------
var $h1=$("#hId"); //获取节点
//添加样式的两种方式
方式1:
$h1.addClass("现有样式名")---------------------“注意写啥前缀就是啥选择器”
方式2:
单个的时候,中间用逗号
$h1.css("color","green")
多个的时候,属性名和属性之间用冒号,不同属性之间用逗号
$h1.css({"color":"green"})
----------------------------------------------
jQuery操作对象的隐藏$in.hide();和显示$in.show();
var $in=$("#iId"); //首先也是要获取标签节点
//input标签单击事件的触发
$in.click(function(){
$in.hide();
})
click()处触发事件
mouseover(function(){ })
mouseout(function(){})
-------------------------------------------
链式迭代
$in.hide().addClass("选择器")
隐式迭代
$("li").addClass("选择器")
-------------------------------------------
$(“选择器”).text()
$(“选择器”).html()
js对象和jq对象相互转换
var a =document.getElementById("");
var $a=$(a)
var b=$a.get(0)
})
相邻元素选择器 a+b
同辈选择器a~b 只影响后面的
过滤选择器
平常用的
基本过滤选择器
:什么的
li:eq(index) 下标为index的时的li
li:gt(index) 下标大于index的li集合
li:lt(index) 下标小于index的li集合
:header 选取所有的标题元素h1-h6
:focus 当前获取焦点的元素、
:animated 选择所有动画
可见性过滤选择器
:visible 选择所有可见的元素
:hidden 选择所有隐藏的元素
</script>
<style>
写现有的样式
</style>
设置一个css属性
css("","");
构建节点
JQ,JS节点的理解:就是一个标签,父点有父子之分,在内存中构建的节点,并没有在页面上有任何的渲染效果,他
必须得依附于界面上的某个标签作为载体.
工厂函数$()
$(选择器:eg.基本选择器、层次选择器、过滤选择器):锁定html标签中我想要的或者关注的元素
基本选择器------------------------------------------------------------------------------------
标签选择器 element
类选择器 .class
ID选择器 #id
并集选择器 selector1,selector2,…,selectorN
全局选择器 *
层次选择器----------------------------------------------------------------------------------
后代选择器 ancestor descendant
子选择器 parent>child
相邻元素选择器 prev+next
同辈元素选择器 prev~sibings
属性选择器------------------------------------------------------------------------------------
[attribute^=value] 选取给定属性是以某些特定值开始的元素 $(" [href^=‘en’]"?)选取href属性值以en开头的元素
$("#news a[href^=‘www’]").css(“background”,"#c9cbcb");
$("#news a[class!=‘hot’]").css(“background”,"#c9cbcb");
[attribute$=value] 选取给定属性是以某些特定值结尾的元素
(
"
[
h
r
e
f
(" [href
("[href=’.jpg’]"?)选取href属性值以.jpg结尾的元素
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲news a[href=‘html’]"). css(“background”,"#c9cbcb");
[attribute*=value] 选取给定属性是以包含某些值的元素 $(" [href* =‘txt’]"?)选取href属性值中含有txt的元素
$("#news a[href*=‘k2’]").css(“background”,"#c9cbcb");
基本过滤选择器------------------------------------------------------------------------------
:eq(index) 选取索引等于index的元素(index从0开始) $("li:eq(1)")选取索引等于1的<li>元素
:gt(index) 选取索引大于index的元素(index从0开始) $(" li:gt(1)")选取索引大于1的<li>元素(注:大于1,不包括1)
:lt(index) 选取索引小于index的元素(index从0开始) $(“li:lt(1)”)选取索引小于1的<li>元素(注:小于1,不包括1)
:header 选取所有标题元素,如h1~h6 $(":header")选取网页中所有标题元素
:focus 选取当前获取焦点的元素 $(":focus")选取当前获取焦点的元素
:animated 选择所有动画 $(":animated" )选取当前所有动画元素
$(dom对象)类型转换,从js转换成成jq对象。只能使用jq的方法,不能使用js 的属性了
gbk(包含一些生僻字) gb2312 big5 http协议:iso-8859-1(latin1)拉丁
Dom操作
动态在内存cache中生成标签
$(function(){
/*jq特性:隐式迭代、链式编程*/
$("div").css("background","red").css()
js---》jq
var box=docment.getElementById("box");
//alert(box.innerTest);
$(box).text();
jq---》js
box =$(box)[0]
})
window.οnlοad=function(){ }
JQUERY的$(function(){})和window.οnlοad=function(){}的区别【转】
1.执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
2.编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个
$(document).ready()可以同时编写多个,并且都可以得到执行
3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});
插入节点----------------
元素内部插入元素
append
$("#box").append(myTag);
元素外部插入
after
before
删除节点---------------
数据库中:
delete
truncate
drop
jq中:q
remove():内容,标签,事件都删除
empty():只删除内容
替换节点----------------
replaceWith()
复制节点----------------
.clone(true);复制的同时保留事件
.clone(false);只复制标签,内容
siblings()同级元素