jQuery学习笔记
jQuery框架
* 由于JavaScript语言中的和页面相关的内容比较繁琐,jQuery的出现就是解决此问题,可以让程序员更高效的开发页面动态效果。
* 如何使用jQuery框架?
此框架就是一个外部的js文件,通过script标签的src属性引入到HTML页面即可使用
<!--引入入jQuery框架-->
<script src="../js/jquery-1.4.2.js"></script>
<script>
//给按钮添加点击事件
/* //js动态绑定事件
let b1=document.getElementById("b1");//现在的谷歌浏览器等会自动添加这行代码,但是有的浏览器不会,所以为了兼容性还得写
b1.onclick=function () {
alert("按钮被点击了");
}*/
//jQuery写法
//jquery中的事件的名称和js中的事件的名称比较,去掉了on
$("#b1").click(function () {
//alert("按钮被点击了!");
/*let a=document.getElementById("d1");
let b=document.getElementById("i1");
a.innerText=b.value;*/
//等效上面三行代码
$("#d1").text($("#i1").val())
//document.getElementById("i1"); 获取到的是js对象,表示文本框
//$("#i1")获取到的是jQuery对象,也表示文本框
});
</script>
* js对象和jQuery对象不是同一种对象,彼此的方法也不能互相调用
* js对象和jQuery对象的互相转换
* js转jQuery
let jq=$(js);
* jQuery转js
let js=jq[0];
<body>
<input type="text" id="i1">
<input type="button" value="js转jq" id="b1">
<input type="button" value="jq转js" id="b2">
<!--引入jQuery框架-->
<script src="../js/jquery-1.4.2.js"></script>
<script>
//先给按钮绑定单击事件
$("#b1").click(function () {
//获取js对象
let js=document.getElementById("i1");
//js对象转为jQuery对象
let jq=$(js);
//调用jq的方法val()验证是否转换成功
alert(jq.val())
});
$("#b2").click(function(){
//得到jq对象
let jq=$("#i1");
//把jq对象转成js对象,jq对象本质上是一个数组,里面装的是js
//此时通过id选择器获取到的jq数组里面只有一个元素,就是jq[0]
let js=jq[0];
alert(js.value);
});
</script>
</body>
$("选择器"),jQuery的这个通过选择器选择元素的写法可以理解成是一个方法,它返回的jQuery对象是一个数组,而这个jQuery对象里面装的就是js对象
jquery中的选择器
* 基础选择器 用法和css一样
* 层级选择器
* 层级相关方法:
* 过滤选择器
* 内容选择器
* 可见选择器
* 显示隐藏相关方法:
* 属性选择器
* 子元素选择器
* 表单选择器
* 遍历其相应选择器返回的数组
//弹出所有 :checked 元素的value值" id="b4"
$("#b4").click(function(){
//只能取到数组的第一个元素的value值
//alert($(":checked").val());
//遍历数组的每一个元素
$(":checked").each(function(){
//遍历的过程中this代表遍历的每一个“js对象”
alert(this.value);
});
});
注意:
$("input:eq(0)").val()
当input的属性为text时获取到的是输入框输入的内容
当input的属性为button的时候获取到的是input的value值
jQuery中和页面相关内容
1. 创建元素对象
let d = $("xxxx ");
2. 添加到页面中
父元素.append(新元素); //添加到父元素里面的最后面
父元素.prepend(新元素); //添加到父元素里面的最前面
3. 插入元素
兄弟元素.before(新元素); //插入到兄弟元素的前面
兄弟元素.after(新元素); //插入到兄弟元素的后面
4. 删除元素
元素对象.remove();
5. 获取和修改元素的文本内容 等效 innerText
元素对象.text(); 获取
元素对象.text("xxx"); 修改
6. 获取和修改控件的值
控件对象.val(); 获取
控件对象.val("xxx"); 修改
7. 获取和修改元素的html内容 等效 innerHTML
元素对象.html(); 获取
元素对象.html(标签内容);修改
8. 获取和修改元素的样式
元素对象.css("样式名","样式值"); //修改样式值
元素对象.css("样式名"); //获取样式值
元素对象.css({"样式1名":"值","样式2名":"值"}); //批量操作样式
9. 获取和修改元素的属性
元素对象.attr("属性名","值"); 修改
元素对象.attr("属性名"); 获取
hover方法
//鼠标移入移出事件方法 $("div").hover(function () {//鼠标移入时触发 $(this).css("color","red"); },function () {//鼠标移出时触发 $(this).css("color","green"); })
动画相关
$("input:eq(0)").click(function(){
$("img").hide(2000,function () {
alert("动画执行完了");
});
});
$("input:eq(1)").click(function () {
$("img").show(2000,function(){
alert("动画显示完了");
});
});
//淡出
$("input:eq(2)").click(function () {
$("img").fadeIn(2000);
});
//淡入
$("input:eq(3)").click(function () {
$("img").fadeOut(2000);
});
//上滑
$("input:eq(4)").click(function(){
$("img").slideUp(2000);
});
//下滑
$("input:eq(5)").click(function(){
$("img").slideDown(2000);
});
//自定义
$("input:eq(6)").click(function(){//此处图像是相对定位,相对于图像的初始位置
$("img").animate({"left":"200px"},1000)//图片向右移动200px
.animate({"top":"200px"},1000)//图片向下移动200px
.animate({"left":"0"},1000)//图片向左移动200px
.animate({"top":"0"},1000)//图片向上移动200px
.animate({"width":"400px","height":"300px"},1000)//图片放大一倍
.animate({"width":"200px","height":"150px"});//图片缩小回原尺寸
});

浙公网安备 33010602011771号