jQuery模拟题

本文深入讲解了jQuery的核心功能,包括$符号的多种用途、选择器的详细分类、事件处理的区别等,同时对比了$(document).ready()与window.onload的不同之处,并介绍了如何通过jQuery实现禁用浏览器前进后退按钮等功能。

1.$符的作用

a.将选择器包裹成jQuery的dom对象
b.文档就绪处理程序,$(document).ready(…)
c.实用工具函数的前缀,如$.trim
d.可转让给其他库,利用noConflict还原jQuery定义
e.创建DOM元素

$("<p>内容</p>");

f.扩展jQuery库

2. 如何找到所有HTMLselect标签的选中项

$('[name=selectname] :selected')

3.$(this)和this关键字在jQuery中有何不同

jQuery中$(this)返回的是一个对象,它可以调用多个jQuery方法,如用text()获取文本,用val()获取值等。
而this代表当前元素,是JavaScript关键词的一个,表示上下文中的当前DOM元素。当用$包裹,就可以调用jQuery方法。

4.jquery的选择器

  • 基本选择器:#id,class,element,*;
  • 层次选择器:parent > child, prev + next, prev ~ siblings
  • 基本过滤器选择器::first, :last, :not, :even, :odd, :eq, :gt, :lt
  • 内容过滤器选择::contains, :empty, :has, :parent
  • 可见性过滤器选择器::hidden, :visible
  • 属性过滤器选择器:[attribute],[attribute=value],[attribute!=value],[attribute^=value],[attribute$=value],[attribute*=value]
  • 子元素过滤器选择器::nth-child,:first-child,:last-child,:only-child
  • 表单选择器::input,:text,:password,:radio,:checkbox,:submit等
  • 表单过滤选择器::enabled,:disabled,:checked,:selected

5.$(document).ready()方法和window.onload有什么区别

  • window.onload是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的
  • $(document).ready()方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数

6.如何用jQuery禁用浏览器的前进后退按钮

 $(document).ready(function(){
	window.history.forward(1); //or window.history.forward(-1);
})

7.jQuery中的$.get()和$.post

相同点:都是异步请求的方式来获取服务端的数据;
不同点:
a.请求方式不同
b.参数传递方式不同:get的参数跟在url后面,post请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递对用户不可见
c.数据传输大小不同:get传输的数据大小不能超过2KB,而post则大很多
d.安全问题:GET方式请求的数据会被浏览器缓存起来,因此有安全问题

8.一个简单的$.ajax()请求

$.ajax({
   url:"http://www.baidu.com",
   type:'POST',
   data:data,
   cache:true,
   headers:{},
   beforeSend:function(){},
   success:function(){},
   error:function(){},
   complete:function(){}
});

9.jQuery事件委托方法,bind、live、delegate、on之间的区别

bind(jquery1.3之前)
定义用法:主要用于给选择到的元素上绑定特定事件类型的监听函数:
语法:bind(type,[data],function(eventObject));
特点:

  • 适用于页面元素静态绑定。只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件
  • 当页面加载完成,才能进行bind(),否则可能产生效率问题
$("#member li a").bind("click",function(e){});

live(jQuery1.3之后)
定义用法:主要用于给选择到的元素上绑定特定事件类型的监听函数;
语法:live(type,[data],fn)
特点:

  • live方法并没有将监听器绑定到自己this身上,而是绑定到了this.context上了
  • live正是利用了事件委托机制来完成事件的监听处理,把节点的处理委托给了document,新添加的元素不必再绑定一次监听器
  • 使用live()方法但却只能放在直接选择的元素后面,不能在层级比较深,连缀的DOM遍历方法后面使用,即$(“ul”).live可以,但$(“body”).find(“ul”).live()不行

delegate(jquery 1.4.2中引入)
定义和用法:将监听事件绑定在就近的父级元素上
语法:delegate(selector,type,[data],fn)
特点:

  • 选择就近的父级元素,因为事件可以更快的冒泡上去,能够在第一时间进行处理
  • 更精确的小范围使用事件代理,性能优于live(),可以用在动态添加的元素上。
$("#info_table").delegate("td","click",function(){});
$("table").find("#info").delegate("td","click",function(){})

on (jquery1.7整合了之前的三种方式的新事件绑定机制)
定义用法:将监听事件绑定到指定元素上
语法:on(type,[selector],[data],fn)

$("#info_table").on("click","td",function(){}); 

on方法是当前jQuery推荐使用的事件绑定方法,附加只运行一次就删除函数的方法是one()
.bind(),.live(),.delegate(),.on()分别对应的相反事件为:.unbind(),.die(),.undelegate(),.off()

基于STM32 F4的永磁同步电机无位置传感器控制策略研究内容概要:本文围绕基于STM32 F4的永磁同步电机(PMSM)无位置传感器控制策略展开研究,重点探讨在不依赖物理位置传感器的情况下,如何通过算法实现对电机转子位置和速度的精确估计与控制。文中结合嵌入式开发平台STM32 F4,采用如滑模观测器、扩展卡尔曼滤波或高频注入法等先进观测技术,实现对电机反电动势或磁链的估算,进而完成无传感器矢量控制(FOC)。同时,研究涵盖系统建模、控制算法设计、仿真验证(可能使用Simulink)以及在STM32硬件平台上的代码实现与调试,旨在提高电机控制系统的可靠性、降低成本并增强环境适应性。; 适合人群:具备一定电力电子、自动控制理论基础和嵌入式开发经验的电气工程、自动化及相关专业的研究生、科研人员及从事电机驱动开发的工程师。; 使用场景及目标:①掌握永磁同步电机无位置传感器控制的核心原理与实现方法;②学习如何在STM32平台上进行电机控制算法的移植与优化;③为开发高性能、低成本的电机驱动系统提供技术参考与实践指导。; 阅读建议:建议读者结合文中提到的控制理论、仿真模型与实际代码实现进行系统学习,有条件者应在实验平台上进行验证,重点关注观测器设计、参数整定及系统稳定性分析等关键环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值