Python50days

发布时间 2023-11-06 20:43:18作者: 拆尼斯、帕丁顿

筛选器方法

document.getElementById()-------标签对象-------标签

jQuery对象
$(document.个体、ElementById())----------jQuery对象----------可以使用jQuery对象提供的方法

如何把jQuery对象转为 标签对象   $===jQuery

$( )[0]

$("#id") ===jQuery("#id")

 

菜单例子

 

hide——隐藏 菜单  当菜单一打开时 隐藏 菜单二 三

 

 padding 内边距  :上下px 左右px;
margine 外边距

.menu 文字白色

 背景颜色为白色

占满100%  右方的80%

 

 

链式操作

 this --当前对象 .tetle    +$  ===jQeury对象

next -- div

.parent  父元素  

先将点击标题所有 hide隐藏  再把当前点击的标签加上

只要点方法是  jQuery对象  可以一直增加

 

而在pycharm中 链式操作

 

 

 

 

 

 

 

操作标签

样式类

classlist对象:

classList.add()

classList.remove()

classList.containers()

classList.toggle()

 

addclass(); 添加指定的css类名

removeClass();移除指定的css类名

hasClass();判断样式存不存在

toggleClass();切换css类名,如果有就移除 没有就添加

 

 

 

 

 

 

改颜色  JS

 

 jQuery改颜色

 

 

 

 div是为了增加滑动的距离

button按钮就是 样式

 $("#b1").on("click"),function(){ —————支持事件委托

}

与 $("#b1").click(function(){    ——————不支持事件委托

})

 

而事件监听 绑定

 

尺寸:

 

文本操作:

innerText  ——text()

innerHTML —— html()

 

JS: 

 

jQuery:

  

 

值操作:

 value属性

 

jQuery: 

    $("#d1").value();

console. log($("#d1").val())

 

 

 设置值:

$(" #d1").value(' 我很好')

 

  JS:

  document.getElementById('d1').value;

 

# 获取被选中的 checkbox或radio的值(复选框 单选框)

  console.log ($ ("input [name='gender']:checked").val ( ));

 

属性操作:

  JS:

    

   

  jQuery:

    

 

推荐不适用  attr  

 

 

标签上有的能看到的属性和自定义属性都用 attr

对于返回布尔值的比如 checkbox,radio,和option的是否被选中都用prop

 

文档处理

let $pEle =$('<p>')

var p = $("<p>")

建议 不加  $

JS创建标签

  document.createElement('p');

jQuery

  $('<p>');

增加文本   

var p = $("<p>");

  p.txt('这是p标签')

div.append(p);

 

常用事件:

  

 

click(function(){...})
hover(function(){...})
blur(function(){...})
focus(function(){...})
change(function(){...})
keyup(function(){...})
input监控
$(window).keydown(function (event) {
console.log(event.keyCode)
if (event.keyCode === 16){
alert('你按了shift键')
}
})

 

实时监听input输入值变化示例:

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>实时监听input输入值变化</title>
</head>
<body>
<input type="text" id="i1">

<script src="jquery-3.2.1.min.js"></script>
<script>
/*
* oninput是HTML5的标准事件
* 能够检测textarea,input:text,input:password和input:search这几个元素的内容变化,
* 在内容修改后立即被触发,不像onchange事件需要失去焦点才触发
* oninput事件在IE9以下版本不支持,需要使用IE特有的onpropertychange事件替代
* 使用jQuery库的话直接使用on同时绑定这两个事件即可。
* */
$("#i1").on("input propertychange", function () {
alert($(this).val());
})
</script>
</body>
</html>

        

 

 

事件绑定

  1. .on( events [, selector ],function(){})
  • events: 事件
  • selector: 选择器(可选的)
  • function: 事件处理函数

移除事件

  1. .off( events [, selector ][,function(){}])

off() 方法移除用 .on()绑定的事件处理程序。

  • events: 事件
  • selector: 选择器(可选的)
  • function: 事件处理函数

阻止后续事件执行

  1. return false; // 常见阻止表单提交等
  2. e.preventDefault();

 

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>阻止默认事件</title>
</head>
<body>

<form action="">
<button id="b1">点我</button>
</form>

<script src="jquery-3.3.1.min.js"></script>
<script>
$("#b1").click(function (e) {
alert(123);
//return false;
e.preventDefault();
});
</script>
</body>
</html>

阻止事件冒泡

 

 

嵌套关系  会触发三次

想要取消某个冒泡时   将  e.stopPropagation();  加入该句中

 

例子

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>阻止事件冒泡</title>
</head>
<body>
<div>
<p>
<span>点我</span>
</p>
</div>
<script src="jquery-3.3.1.min.js"></script>
<script>
$("span").click(function (e) {
alert("span");
e.stopPropagation();
});

$("p").click(function () {
alert("p");
});
$("div").click(function () {
alert("div");
})
</script>
</body>
</html>

事件委托

事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件。

示例:

表格中每一行的编辑和删除按钮都能触发相应的事件。

$("table").on("click", ".delete", function () {
// 删除按钮绑定的事件
})

 

 

动画效果

// 基本
show([s,[e],[fn]])
hide([s,[e],[fn]])
toggle([s],[e],[fn])
// 滑动
slideDown([s],[e],[fn])
slideUp([s,[e],[fn]])
slideToggle([s],[e],[fn])
// 淡入淡出
fadeIn([s],[e],[fn])
fadeOut([s],[e],[fn])
fadeTo([[s],o,[e],[fn]])
fadeToggle([s,[e],[fn]])
// 自定义(了解即可)
animate(p,[s],[e],[fn]

 i、标签 表示 倾斜

绝对定位: 相对于父元素
固定定位: 浏览窗口

相对于定位: 相对于自己原来的位置

 

 

each ——主要用来做循环


jQuery.each(collection, callback(indexInArray, valueOfElement)):
描述:一个通用的迭代函数,它可以用来无缝迭代对象和数组。数组和类似数组的对象通过一个长度属性(如一个函数的参数对象)来迭代数字索引,从0到length - 1。其他对象通过其属性名进行迭代。

 

 

 

.each(function(index, Element)):

描述:遍历一个jQuery对象,为每个匹配元素执行一个函数。

.each() 方法用来迭代jQuery对象中的每一个DOM元素。每次回调函数执行时,会传递当前循环次数作为参数(从0开始计数)。由于回调函数是在当前DOM元素为上下文的语境中触发的,所以关键字 this 总是指向这个元素。

 

就算没有item -item 也不会报错 

 

 

 

 

 

li =[10,20,30,40]
$.each(li,function(i, v){  
console.log(i, v);//index是索引,ele是每次循环的具体元素。 

})   

注意:

在遍历过程中可以使用 return false提前结束each循环。

终止each循环

 

.data()

在匹配的元素集合中的所有元素上存储任意相关数据或返回匹配的元素集合中的第一个元素的给定名称的数据存储的值。

.data(key, value):

描述:在匹配的元素上存储任意相关数据。