jQuery 是一个 JavaScript 函数库。
HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX
Utilities
<head>
<script type="text/javascript" src="jquery.js">script>
head>
<script src="js/jQuery-2.2.2-min.js">script>
案例:封装获取元素的方法;
1、将命名class id name传入为text
2、将传入的text进行拆分 .split("");
3、判断拆分后的数组的长度;【1个,2个继续判断操作个数】
4、截取符号;substr(0,1);从0开始截取、一个;
5、根据符号获取其中的方法是寻找id还是其他;
<body>
<p id="p1">this is pp>
<p class="p1">this is pp>
<p class="p2 p3">this is pp>
<p class="p2">this is pp>
<script>
function $(text){
//将text文本进行拆分
var chooseArr = text.split(" ");
if(chooseArr.length==1){
//通过传入的符号确定要调用的方法
var ch = chooseArr[0].substr(0,1);
switch(ch){
case "#":return document.getElementById(chooseArr[0].substr(1));
case ".":return document.getElementsByClassName(chooseArr[0].substr(1))
default:return document.getElementsByTagName(chooseArr[0]);
}
}else{
//继续判断传入的元素个数
}
}
console.info($(".p1")) //打印pi调用元素
$(".p1")[0].style.backgroundColor = "red"; //通过选择元素修改器属性;
script>
body>
/*通过jquery方式来实现的元素获取*/
$(document).ready(function(){
var op = $("#p1");
console.info(op);
});
/*简写版:(可以直接获取)
$(function(){
var op = $("#p1");
console.info(op);
});
<p id="p1">this is pp>
<p class="p1">this is pp>
<div>div>
<input type="text" name="username"/>
<span name="username">this is spanspan>
var op2 = $(".p1");
console.info(op2);
Js端代码
var op1 = $("#p1");
console.info(op1);
通过name获取元素
var oinp = $("[name=username]");
也可以用input[name-username](可以直接调用CSS方法,限定元素类型为input 其他name一致的被排除在外)
console.info(oinp);
oinp.css("background-color","red");
var odiv = $("div");
console.info(odiv);
获得所有为div的元素;
得到的集合,可以**实现底层自动循环,不用去找数组的个数;**
$("#ul1 li:first-child").css("color","red");
设置ul1下面的第一个li元素的样式为颜色为红色;在选择元素的时候结合了选择器的方法;
$("#mytable tr:even").css("background-color","red");
$("#mytable tr:odd").css("background-color","pink");
even为选中偶数项,从0开始;
odd为选中奇数项,从0开始;
对象.属性; 对象["属性名"] 属性名当做下标
/*var op = document.getElementsByName("test")[0];
/!*对象.属性 op["下标"]*!/
console.info(op.title);
console.info(op["title"]);*/
var value = $("[name=test]").attr("title");
console.info(value);
传一个值为获取该属性名的值;
$("[name=test]").attr("title","test1");
传一个KEY value的方式;
传一个参数为参数properties ;
参数key,回调函数 描述:
$("[name=test]").removeAttr("title");
移除该属性!要删除的属性名
attr方法:
$("#span1").attr("class","as");
addclass()方法;
$("#span1").addClass("as"); //将class设置为空不调用类,
/*addClass方法设置class属性,调用方法的时候可以传递一个函数,最后返回一个值*/
$("#ul1 li").addClass(function(){
var res = "index"+$(this).index();
return res;
});
【会存在广泛增删后形成的命名一致的问题吗?】
toggleClass(“as”) 将属性class有as类的删除“as”,没有的增加;
/*toggleClass()*/
$("#ul1 li").toggleClass("as");
/*html(),封装了js里面innerHTML属性*/
$("#ul1").html()
修改htnl内部的所有内容:
$("#ul1".html(“<li>123li>”))
$("#span1").text()
$("#btn").on("click",function(){ //点击之后触发事件,将文本内容打印;
var value = $("input[name=username]").val();
console.info(value);
})
不推荐的写法:$("li")[0] $("li").html()
$("li").eq(-1) 最后一个
$("li").eq(0) 第一个;
$("li").first() 找到第一个
$("li").last() 找到最后一个
特点:
var res = $("li").hasClass("li");
console.info(res);
- 使用each()实现循环取出内容;
$("li").each(function(){
console.info($(this).html());
});
var odiv = $("div").filter(".div");
console.info(odiv);
has() 包含的方法:
//$("div").has(".span").css("background-color","red");
find()方法;
//链式表达
$("div").find(".span").css("background-color","red");
is();
受限找到span,看他的父元素是否带有.box属性;
var boo =$(".span").parent().is(".box");
console.info(boo);
boo = $(".box").children().is(".span");
console.info(bo