jQuery总结
selector选择器
选择元素
根据ID查找元素
$("#div1ID")
根据标签查找元素
$("div")
根据样式查找元素
$(".myClass")
父子元素
查找父标签里的子标签
console.log($("form input").length)
父标签里的所有子标签
console.log($("form>input").length)
同级下一个指定标签(弟弟)
console.log($("form+input"))
同级的所有指定标签(只包括弟弟)
console.log($("form~input"))
查找元素和内容
查元素内容
console.log($("ul li:first").html())
console.log($("ul li:first").text())
console.log($("ul li:last").html())
查找奇数行、偶数行
console.log($("table tr:odd"))
console.log($("table tr:even"))
根据索引查找
console.log($("table tr:eq(1)").text())
console.log($("table tr:gt(2)"))
console.log($("table tr:lt(2)"))
添加样式
方式一
.usa {
background-color: #f00;
color: #fff;
}
.spain {
background-color: #f00;
color: #ff0;
}
$( "div:lang(en-us)" ).addClass( "usa" );
$( "div:lang(es-es)" ).addClass( "spain" );
方式二
$(":header").css({
'background-color': 'red',
'color': 'blue'
});
选中
console.log($(":checkbox:not(:checked)"))
文档根元素
console.log($(":root"))
查找父元素包含的子元素
console.log($("div:contains('John')"))
console.log($("p:empty"))
$("div").has("p").addClass('myClass')
console.log($("p:parent"))
查找可见和隐藏
console.log($("tr:hidden"))
console.log($("tr:visible"))
根据属性找标签
console.log($("div[id]"))
$("input[name='newsletter']").attr({
'checked': 'checked'
});
console.log($("input[id='myID']").attr("name"))
$("input[name!='newsletter']").attr('checked', 'checked');
$("input[name^='news']").attr('checked', 'checked');
$("input[name$='letter']").attr('checked', 'checked');
$("input[name*='news']").attr('checked', 'checked');
$("input[id][name$='letter']").attr('checked', 'checked');
数组迭代
$.each($("ul li:first-child"),function (index,obj) {
console.log($(obj).html())
})
$("ul li:last-child").each(function (index,obj) {
console.log($(obj).html())
})
console.log($("ul li:only-child"))
$("ul li:nth-child(2)").each(function (index,obj) {
console.log($(obj).html())
})
查找各种元素的个数
console.log($(":input"))
console.log($(":text"))
console.log($(":password"))
console.log($(":radio"))
console.log($(":checkbox"))
console.log($(":submit"))
console.log($(":image"))
console.log($(":reset"))
console.log($(":button"))
console.log($(":file"))
console.log($(":hidden"))
console.log($(":input:enabled"))
console.log($(":input:disabled"))
console.log($(":checkbox:checked"))
console.log($(":checkbox:not(:checked)"))
console.log($("select option:selected"))
mothod常用方法
each 迭代
var obj1 = {
'name': '张三',
'sal': 10000
}
var objArr = [
{
'name': '张三',
'sal': 10000
},
{
'name': '李四',
'sal': 20000
},
{
'name': '王五',
'sal': 30000
}
];
$.each(objArr, function(index, obj) {
console.log('姓名是:' + obj.name + ",薪水是:" + obj.sal)
});
$(objArr).each(function(index, obj) {
console.log('姓名是:' + obj.name + ",薪水是:" + obj.sal)
});
$.each(obj1, function(index, obj) {
console.log(obj)
});
append 父元素插入子元素
$("ul").append($("div"));
$("ul").prepend($("div"));
$("ul").append("<li>张三</li>");
after 插入到标签之后(兄弟关系)
$("ul").after($("div"))
$("ul").before($("div"))
find后代选择器 attr 设置元素属性
console.log($("form input:first").attr('type'))
console.log($("form").find("input:first"))
console.log($("form").find("input").first())
$("form").find("input").last().attr({'readonly': 'readonly'});
创建页面元素
var div = document.createElement("div");
div.setAttribute('id', 'divID');
div.innerText = "哈哈";
$("body").append('<div id="2022">哈哈</div>')
删除页面元素
$("li").remove("#secondID")
$("#secondID").remove()
$("li").remove()
$("ul").remove()
获取元素内容
console.log($("div").html())
console.log($("div").text())
$("div").text("哈哈1")
$("div").html("哈哈2")
$("div").text('<a href="#">百度一下</a>')
$("div").html('<a href="#">百度一下</a>')
document.getElementById("inputID").setAttribute("value", 123);
console.log(document.getElementById("inputID").getAttribute("value"))
console.log(document.getElementById("inputID").value)
console.log($("#city option:first").val())
console.log($("#city option:first").html())
console.log($("#city option:selected").val())
console.log($("#city option:selected").html())
clone 克隆
$("body").append($("ul").clone(true))
$("input").after($("input").clone(true).val("新按钮"));
$("input").click(function () {
alert("动态事件")
})
$("input").after($("input").clone(false).val("新按钮"));
replaceWith 替换
$("table div").dblclick(function(event) {
$(this).replaceWith('<input type="text">');
});
removeAttr 删除属性
$("table").attr({
'border': '1',
'align': 'center',
'width': '400'
});
$("table").removeAttr('align')
操作样式
$("div:first").addClass('myClass myClass2')
$("div:last").removeClass('myClass myClass2')
$("div").toggleClass('myClass');
console.log($("div:last").hasClass('myClass'))
图片坐标和设置
var imgOffSet = $("img").offset();
console.log(imgOffSet.top);
console.log(imgOffSet.left);
$("img").offset({'top': '200','left': '200'})
console.log($("img").width())
console.log($("img").height())
$("img").width(320)
$("img").height(320)
兄弟和父子元素
console.log($("div").children().text())
console.log($("div").next().text())
console.log($("div").prev().text())
$("div").siblings().each(function (index,obj) {
console.log(obj.innerHTML)
})
隐藏和显示
$("img").hide(3000,function () {
alert('隐藏成功')
})
$("img").show(3000,function () {
alert('显示成功')
})
淡入和淡出
$("img").fadeIn(3000,function () {
alert('淡入成功')
})
$("img").fadeOut(3000,function () {
alert('淡出成功')
})
滑动展示和隐藏内容
$("input").click(function(event) {
$("div").slideToggle(1000);
});
event事件
ready 延迟加载
function a(){
alert("JS方式");
}
function b(){
alert("JQUERY方式");
}
window.onload = function () {
a();
}
$(document).ready(function() {
b();
});
$(function () {
b();
})
change 选中改变事件
$("#city").change(function(event) {
var $option = $("#city option:selected");
console.log($option.val())
console.log($option.html())
});
focus 获取焦点 select 文本选中
$(function () {
$("input").focus();
$("input").select();
})
keyup
$(document).keyup(function(event) {
console.log(event)
});
mousemove 鼠标移动坐标
$(document).mousemove(function (event) {
$("#xID").val(event.clientX);
$("#yID").val(event.clientY);
})
鼠标移入和移出
$("table tr").mouseover(function () {
$(this).css('background-color', 'pink');
})
$("table tr").mouseout(function () {
$(this).css('background-color', 'white');
})
$("img").mouseover(function () {
$(this).css('border', '5px solid red');
})
$("img").mouseout(function () {
$(this).css('border', '0');
})
表单提交案例
<script type="text/javascript">
$(function () {
$("#user").focus();
})
$("#user").blur(function(event) {
var pattern = /^[A-Za-z][A-Za-z0-9]{5,11}$/;
if (pattern.test(this.value)) {
$("#msg").html("用户名合法").removeClass().addClass('ok');
}else {
$("#msg").html("用户名非法").removeClass().addClass('error');
this.value = "";
this.focus();
}
});
</script>
<script type="text/javascript">
$("form").submit(function(event) {
var pattern = /^[A-Za-z][A-Za-z0-9]{5,11}$/;
var user = $("#user").val();
if (pattern.test(user)) {
return true;
}else {
$("#msg").html("用户名非法").removeClass().addClass('error');
this.value = "";
this.focus();
return false;
}
});
</script>
|