jQuery必备知识

jQuery必备知识

 

1.1  复习jQuery操作DOM

重点内容

名称

说明

用法

css()

设置或获取样式属性

设置:

$( selector).css(“color”, “red”);

$(selector).css({“clolor”:”red”});

获取:

$( selector).css(“color”);

addClass(className)

设置样式

$( selector).addClass(“liItem”);

removeClass(className)

移除样式

$( selector).removeClass(“liItem”);

show()

显示

$( selector).show(1000);

$( selector).show(1000, function() {});

stop()

停止动画

$(selector).stop();

html()

设置或获取html内容

设置:(动态创建元素

$(“div”).html(“<p>我是一个p元素</P>”);

清空节点:

$(“div”).html(“”);

获取:

$(“div”).html();

append()

追加元素

为div元素追加子元素:

$(“div”).append(“<p>传智播客</p>”);

 

jQuery其他必备知识

1.2  重点内容

Ø val()值操作

Ø 事件绑定

Ø 事件解绑

Ø 事件触发

Ø 插件基本使用

1.3  操作form表单

1.3.1  属性操作

设置属性:

// 第一个参数表示:要设置的属性名称

// 第二个参数表示:该属性名称对应的值

$(selector).attr(“title”, “传智播客”);

 

获取属性:

// 参数为:要获取的属性的名称,改操作会返回指定属性对应的值

$(selector).attr(“title”);

此时,返回指定属性的值

 

移除属性:

// 参数为:要移除的属性的名称

$(selector).removeAttr(“title”);

 

注意:checked、selected、disabled要使用.prop()方法。

prop方法通常用来影响DOM元素的动态状态,而不是改变的HTML属性。例如:input和button的disabled特性,以及checkbox的checked特性。

细节参考:http://api.jquery.com/prop/

案例:表格案例全选反选;

1.3.2  值和内容

val()方法:

作用:设置或返回表单元素的值,例如:input,select,textarea的值

// 获取匹配元素的值,只匹配第一个元素

$(selector).val();

// 设置所有匹配到的元素的值

$(selector).val(“具体值”);

 

text() 方法:

作用:设置或获取匹配元素的文本内容

//获取操作不带参数(注意:这时候会把所有匹配到的元素内容拼接为一个字符串,不同于其他获取操作!)

$(selector).text();

//设置操作带参数,参数表示要设置的文本内容

// 如果设置的内容包含html标签(<span>我要动态创建span,这时候行吗?</span>),那么text这个方法会把他们当作文本内容输出,而不会创建元素。这个text()和html()方的主要区别

$(selector).text(“我是内容”);

案例:红鲤鱼与绿鲤鱼

1.4  尺寸位置操作

1.4.1  高度和宽度操作

高度操作height() :

作用:设置或获取匹配元素的高度值

//带参数表示设置高度

$(selector).height(200);

//不带参数获取高度

$(selector).height();

宽度操作width() :

作用:设置或获取匹配元素的宽度值

//带参数表示设置宽度

//不带参数获取宽度

$(selector).width(200);

css()获取高度和height获取高度的区别?

1.4.2  坐标值操作

offset()

作用:获取或设置元素相对于文档的位置

// 无参数表示获取,返回值为:{left:num,top:num},值是相对于document的位置

$(selector).offset();

// 有参数表示设置,参数推荐使用数值类型

$(selector).offset({left:100, top: 150});

 

注意点:设置offset后,如果元素没有定位(默认值:static),则被修改为relative

 

position()

作用:获取相对于其最近的具有定位的父元素的位置。

// 获取,返回值为对象:{left:num, top:num}

$(selector).position();

注意:只能获取,不能设置。

 

scrollTop()

作用:获取或者设置元素垂直方向滚动的位置

// 无参数表示获取偏移

// 有参数表示设置偏移,参数为数值类型

$(selector).scrollTop(100);

 

scrollLeft()

作用:获取或者设置元素水平方向滚动的位置

$(selector).scrollLeft(100);

 

对scrollTop的理解:

垂直滚动条位置是可滚动区域可视区域上方的被隐藏区域的高度。

如果滚动条在最上方没有滚动或者当前元素没有出现滚动条,那么这个距离为0

案例:固定导航栏

1.5  jQuery事件机制

jQuery的事件机制,指的是:jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定、事件解绑、事件触发。

1.5.1  jQuery事件的发展历程(了解)

简单事件绑定 >> bind事件绑定 >> delegate事件绑定 >> on【重点】

 

l 简单事件绑定:

click(handler)                   单击事件

blur(handler)                    失去焦点事件

mouseenter(handler)         鼠标进入事件

mouseleave(handler)           鼠标离开事件

dbclick(handler)               双击事件

change(handler) 改变事件,如:文本框值改变,下来列表值改变等

focus(handler)                  获得焦点事件

keydown(handler)            键盘按下事件

其他参考:http://www.w3school.com.cn/jquery/jquery_ref_events.asp

 

l bind方式(不推荐,1.7以后的jQuery版本被on取代)

作用:给匹配到的元素直接绑定事件

// 绑定单击事件处理程序

第一个参数:事件类型

第二个参数:事件处理程序

$("p").bind("click mouseenter",function(e){

    //事件响应方法

});

比简单事件绑定方式的优势:

1.       可以同时绑定多个事件,比如:bind(“mouseenter  mouseleave”,function(){})

缺点:要绑定事件的元素必须存在文档中。

 

3 delegate方式(特点:性能高,支持动态创建的元素)

作用:给匹配到的元素绑定事件,对支持动态创建的元素有效

// 第一个参数:selector,要绑定事件的元素

// 第二个参数:事件类型

// 第三个参数:事件处理函数

$(".parentBox").delegate("p","click", function(){

    //为 .parentBox下面的所有的p标签绑定事件

});

与前两种方式最大的优势:减少事件绑定次数提高效率,支持动态创建出来的元素绑定事件!

 

1.5.2  on方式(最现代的方式,兼容zepto(移动端类似jQuery的一个库),强烈建议使用的方式)(重点)

jQuery1.7版本后,jQuery用on统一了所有的事件处理的方法

作用:给匹配的元素绑定事件,包括了上面所有绑定事件方式的优点

语法:

// 第一个参数:events,绑定事件的名称可以是由空格分隔的多个事件(标准事件或者自定义事件)

// 第二个参数:selector, 执行事件的后代元素

// 第三个参数:data,传递给处理函数的数据,事件触发的时候通过event.data来使用

// 第四个参数:handler,事件处理函数

$(selector).on(events[,selector][,data],handler);

 

    // 表示给$(selector)绑定事件,当必须是它的内部元素span才能执行这个事件

$(selector).on( "click",“span”, function(){});

 

// 绑定多个事件

// 表示给$(selector)匹配的元素绑定单击和鼠标进入事件

$(selector).on(“click mouseenter”, function(){});

 

1.5.3  事件解绑

l unbind() 方式

作用:解绑 bind方式绑定的事件

$(selector).unbind(); //解绑所有的事件

$(selector).unbind(“click”); //解绑指定的事件

l undelegate() 方式

作用:解绑delegate方式绑定的事件

$( selector ).undelegate(); //解绑所有的delegate事件

$( selector).undelegate( “click” ); //解绑所有的click事件

 

off解绑on方式绑定的事件(重点)

// 解绑匹配元素的所有事件

$(selector).off();

// 解绑匹配元素的所有click事件

$(selector).off(“click”);

// 解绑所有代理的click事件,元素本身的事件不会被解绑

$(selector).off( “click”, “**” );

 

1.5.4  事件触发

简单事件触发

$(selector).click(); //触发click事件

trigger方法触发事件,触发浏览器行为

$(selector).trigger(“click”);

triggerHandler触发 事件响应方法,不触发浏览器行为

比如:文本框获得焦点的默认行为

$(selector).triggerHandler(“focus”);

 

1.5.5  jQuery事件对象介绍

event.data                        传递给事件处理程序的额外数据

event.currentTarget           等同于this,当前DOM对象

event.pageX                      鼠标相对于文档左部边缘的位置

event.target                      触发事件源,不一定===this

event.stopPropagation(); 阻止事件冒泡

event.preventDefault();     阻止默认行为

event.type                        事件类型:click,dbclick…

event.which                     鼠标的按键类型:左1 中2 右3

event.keyCode                   键盘按键代码

案例:按键变色

1.6  jQuery补充

1.6.1  链式编程

链式编程原理:return this;

通常情况下,只有设置操作才能把链式编程延续下去。因为获取操作的时候,会返回获取到的相应的值,无法返回 this。

 

end(); // 结束当前链最近的一次过滤操作,并且返回匹配元素之前的状态。

1.6.2  隐式迭代

隐式迭代的意思是:在方法的内部会为匹配到的所有元素进行循环遍历,执行相应的方法;而不用我们再进行循环,简化我们的操作,方便我们调用。

如果获取的是多元素的值,大部分情况下返回的是第一个元素的值。

 

案例【五角星评分控件】

1.6.3  each方法

有了隐式迭代,为什么还要使用each函数遍历?

大部分情况下是不需要使用each方法的,因为jQuery的隐式迭代特性。

如果要对每个元素做不同的处理,这时候就用到了each方法

 

作用:遍历jQuery对象集合,为每个匹配的元素执行一个函数

// 参数一表示当前元素在所有匹配元素中的索引号

// 参数二表示当前元素(DOM对象)

$(selector).each(function(index,element){});

Element是一个 js对象,需要转换成jquery对象

 

【案例】 什么都看不见

 

1.6.4  多库共存

此处多库共存指的是:jQuery占用了$ 和jQuery这两个变量。当在同一个页面中引用了jQuery这个js库,并且引用的其他库(或者其他版本的jQuery库)中也用到了$或者jQuery这两个变量,那么,要保证每个库都能正常使用,这时候就有了多库共存的问题。

 

// 模拟另外的库使用了 $ 这个变量

// 此时,就与jQuery库产生了冲突

var $ = { name : “itecast” };

 

解决方式:

// 作用:让jQuery释放对$的控制权,让其他库能够使用$符号,达到多库共存的目的。此后,只能使用jQuery来调用jQuery提供的方法

$.noConflict();  //true两个都交出来,返回值是新的调用方法

 

1.7   jQuery插件机制

jQuery这个js库,虽然功能强大,但也不是面面俱到包含所有的功能。

jQuery是通过插件的方式,来扩展它的功能:

当你需要某个插件的时候,你可以“安装”到jQuery上面,然后,使用。

当你不再需要这个插件,那你就可以从jQuery上“卸载”它。

(联想:手机软件,安装的app就好比插件,用的时候安装上,不用的时候卸载掉)

1.7.1  第三方插件

jQuery.color.js

    animate()自定义动画:不支持背景的动画效果

animate动画支持的属性列表

jQuery.lazyload.js

使用步骤:

1.   引入jQuery文件

2.   引入插件

3.   使用插件

1.7.2  制作插件

如何创建jQuery插件:

http://learn.jquery.com/plugins/basic-plugin-creation/

 

全局jQuery函数扩展方法

$.pluginName = function() {};

 

jQuery对象扩展方法

$.fn. pluginName = function() {};

 

 

1.7.3  jQueryUI

jQueryUI专指由jQuery官方维护的UI方向的插件。

官方API:http://api.jqueryui.com/category/all/

其他教程:jQueryUI教程

基本使用:

1.   引入jQueryUI的样式文件

2.   引入jQuery

3.   引入jQueryUI的js文件

4.   使用jQueryUI功能

【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型与说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行与控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念与分析方法;②掌握利用Simulink进行电力系统建模与仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能与参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度与位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C与核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法与机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值