1、你为什么要使用jQuery?你觉得jquery有哪些好处?
1、因为jQuery是轻量级的框架,大小不到30kb
2、它有强大的选择器,出色的DOM操作的封装
3、有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠)
4、完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。)
5、出色的浏览器的兼容性
6、支持链式操作,隐式迭代
7、行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富1‘
2、$(document).ready() $(functiion({}))方法和window.onload有什么区别?
两个方法的功能相似,但在实行时机方面是有区别的
1、window.onload方法是在网页中所有的元素完全加载到浏览器后才执行
2、$(document).ready() 可以在DOM载入就绪是就对其进行操纵,并调用执行绑定的函数
3、你知道jQuery中的选择器吗,有哪些选择器
大致分为:基本选择器,层次选择器,表单选择器
基本选择器:id选择器,标签选择器,类选择器等
层次选择器:如:$("form input") 选择所有的form元素中的input元素 $("#main > *")选择id为main的所有子元素
过滤选择器:如:$("tr:first")选择所有tr元素的第一个 $("tr:last")选择所有tr元素的最后一个
表单选择器:如:$(":input")选择所有的表单输入元素 $(":text")选择所有的text的input元素
4、jQuery的美元符号$有什么作用?
回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码:
$(document).ready(function(){
});
当然你也可以用jQuery来代替$,如下代码:
jQuery(document).ready(function(){
});
5、jQuery对象和DOM对象是怎样转换的
jQuery对象是一个包含了dom对象的数组 可以通过jQuery对象[下标]获取dom对象
将dom对象放入$("")中转为jQuery对象
6、jQuery中 . g e t ( ) 提 交 和 .get()提交和 .get()提交和.post()提交的区别
1、$.get()使用GET方法来进行异步提交 $.post()使用POST方法来进行异步提交
2、get请求方式将参数跟在url后进行传递用户可见 post请求则是作为http消息的实体内容发送给服务器,用户不可见
3、post传输数据比get大
4、get请求的数据会被浏览器缓存 不安全
7、怎么使用jQuery中的动画
隐藏:hide()
显示:show()
淡入淡出:fadeIn()==淡入(显示) fadeOut()==淡出(消失)
滑动:slideUp()==向上滑动 slideDown()==向下滑动
看下面代码运行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
});
</script>
</head>
<body>
<p>如果你点击“隐藏” 按钮,我将会消失。</p>
<button id="hide">隐藏</button>
<button id="show">显示</button>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").fadeIn();
$("#div2").fadeIn("slow");
$("#div3").fadeIn(3000);
});
});
</script>
</head>
<body>
<p>以下实例演示了 fadeIn() 使用了不同参数的效果。</p>
<button>点击淡入 div 元素。</button>
<br><br>
<div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br>
<div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br>
<div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#flip").click(function(){
$("#panel").slideDown("slow");
});
});
</script>
<style type="text/css">
#panel,#flip
{
padding:5px;
text-align:center;
background-color:#e5eecc;
border:solid 1px #c3c3c3;
}
#panel
{
padding:50px;
display:none;
}
</style>
</head>
<body>
<div id="flip">点我滑下面板</div>
<div id="panel">欢迎来到程序员的一天</div>
</body>
</html>
8、jQuery中使用过哪些插入节点的方法,他们的区别是什么
在元素内部添加
append:向每个匹配的元素内部追加内容
<p>我想说:</p>
$("p").append("<b>你好</b>")
<p>我想说:<b>你好</b></p>
appendTo:将所有匹配的元素追加到指定的元素中
<p>我想说:</p>
$("<b>你好</b>").appendTo("p")
<p>我想说:<b>你好</b></p>
prepend:向每个匹配的元素内部前置添加内容
<p>我想说:</p>
$("p").prepend("<b>你好</b>")
<p><b>你好</b>我想说:</p>
prependTo:将所有匹配的元素前置到指定的元素中
<p>我想说:</p>
$("<b>你好</b>").prependTo("p")
<p><b>你好</b>我想说:</p>
在元素外部添加
after:在每个匹配元素之后插入内容
<p>我想说:</p>
$("p").after("<b>你好</b>")
<p>我想说:</p><b>你好</b>
insertAfter:将所有配的元素插入到指定元素的后面
<p>我想说:</p>
$("<b>你好</b>").insertAfter("p")
<p>我想说:</p><b>你好</b>
before:在每个匹配的元素之前插入内容
<p>我想说:</p>
$("p").before("<b>你好</b>")
<b>你好</b><p>我想说:</p>
insertBefore:将所有匹配的元素插入到指定的元素的前面
<p>我想说:</p>
$("<b>你好</b>").insertBefore("p")
<b>你好</b><p>我想说:</p>
9、jQuery中如何来获取和设置属性
可以用attr()获取和设置元素属性
removeAttr()方法来删除元素属性
10、如何来设置和获取HTML和文本的值?
获取HTMl:$("选择器").html()
获取文本的值:$("选择器").text()
11、jQuery中有哪些方法可以遍历节点?
children():获取匹配元素的子元素集合,不考虑后代元素 $(function(){$("div").children()})
next()获取匹配元素后面紧邻的同级元素
prev()获取匹配元素前紧邻的同级元素
siblings()获取匹配元素前后的所有同辈元素
12、radio单选组的第二个元素为当前选中的值,该怎么去取
$('input[type=radio]')[1].checked=true
13、什么是JSON,在什么情况下使用?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON采用完全独立于语言的文本格式.
JSON最常见的用法之一,是从web服务器上读取JSON数据,将JSON数据转换为JavaScript对象,然后在网页中使用该数据.
14、说出jQuery中常见的几种函数以及他们的含义是什么?
jQuery中常见的函数如下:
1)get()取得所有匹配的DOM元素集合.
2)get(index)取得其中一个匹配的元素.index表示取得第几个匹配的元素.
3)append(content)向每个匹配的元素内部追加内容.
4)after(content)在每个匹配的元素之后插入内容.
5)html()/html(var)取得或设置匹配元素的html内容.
6)find(expr)搜索所有与指定表达式匹配的元素.
7)bind(type,[data],fn)为每个匹配元素的特定事件绑定事件处理函数.
8)empty()删除匹配的元素集合中所有的子节点.
9)hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.
10)attr(name)取得第一个匹配元素的属性值.
11)addClass(class)和removeClass(class)为指定的元素添加或移除样式.
12)css(name)访问第一个匹配元素的样式属性.
13)ajax([options])通过HTTP请求加载远程数据.
14)get(url,[data],[callback],[type])通过远程HTTP GET请求载入信息.
15)post(url,[data],[callback],[type])通过远程HTTP POST请求载入信息.
16)load(url,[data],[callback])载入远程HTML文件代码并插入至DOM中.
15、AJAX都有哪些优点和缺点?
1、最大的一点是页面无刷新,用户的体验非常好。
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax的缺点
1、ajax不支持浏览器back按钮。
2、安全问题 AJAX暴露了与服务器交互的细节。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。
5、不容易调试。
16.AJAX最大的特点是什么?
Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
17.怎么阻止冒泡过程?
stopPropagation(); // 阻止冒泡过程
18.hover()方法和toggle()方法区别?
$("a").hover(function(){ // 执行一 }, function() { // 执行二 });
hover(over, out)
$("a").mouseenter(function(){});
$("a").mouseleave(function(){});
toggle()方法可以依次执行函数
toggle(fn, fn2, fn3...);
19.选择器-子元素有哪些?
:nth-child
从1开始的,匹配父元素下第n个元素
$("ul li:nth-child(2)"); 获取2 3 4。。
:first-child
匹配每个父元素下的第一个子元素
:last-child
匹配每个父元素下的最后一个子元素
:only-child
匹配父元素中只有唯一的子元素,如果父元素中有多个子元素,就不会被匹配
20.表单元素有哪些?
:input
会获取所有input,textarea,select,button
:text
匹配所有单行文本元框
:password
匹配所有密码框
:radio
匹配所有单选按钮
:checkbox
匹配所有复选框
:submit
匹配所有提交按钮
:image
匹配所有图像
:reset
匹配所有重置按钮
:button
匹配所有按钮
:file
匹配所有文本域
:hidden
匹配所有不可见元素
21.选择器表单对象属性有哪些?
:enabled
匹配所有可用元素
:disabled
匹配所有不可用元素
:checked
匹配所有选中元素
:selected
匹配所有选中option元素
22.在jquery中有哪些属性?
attr(name);
获取属性值
attr(properties);
以“名/值对”对象添加属性
attr(key,value);
为所匹配的元素设置属性值
attr(key, function(index, attr));
为所匹配的元素设置属性值
removeAttr(name);
删除属性
23.css 类属性有哪些?
addClass(class);
添加一个类名 $("p").addClass("selected");
addClass(function(index, class));
添加类名 $('ul li:last').addClass(function() {})
removeClass([class]);
删除指定类
removeClass(function(index, class))
删除指定类
toggleClass(class);
有切换效果,如果有这个属性值就删除如果没有就添加
toggleClass(class, switch);
switch为ture添加class,反之删除
toggleClass(function(index, class), [switch]);
switch为ture添加class,反之删除
24.html代码?
html()
获取html内容
html(val)
设置html内容的值
html(function(index, html));
设置html内容的值
25.文本有哪些?
text()
获取元素内容
text(val)
设置内容文本
text(function(index, text))
设置内容文本
26.关于val有哪些?
val()
获取元素的当前值
val(val)
设置匹配元素的值
val(array)
赋值作用
val(function(index, value))
设置元素值
27.过滤选择器
eq(index): 获取第n个元素 $("p").eq(1)
first(): 获取第一个元素 $('li').first()
last():获取最后一个元素 $('li').last()
hasClass(class):判断是否有给类
filter(expr):选出表达式匹配的元素
is(expr):进行判断
map(callback):$.map()
has(expr):保留 .has()
not(expr): .not()
28.一些方法?
children();
获取子元素
find();
用于查找表达式
next();
获取下一个元素
nextAll();
获取下一个所有元素
parent();
获取父元素
parents();
获取所有匹配元素的祖先元素的集合
prev();
获取前一个元素
prevAll();
获取之前所有同辈元素
siblings(); $("div").siblings()
add(); $("p").add("span")
$("p").add("<span>da</span>");
<p></p> <span>da</span>
29.文档处理
append()
中间插入
<p></p>
$("p").append("<div></div>");
<p><div></div></p>
appendTo();
<p></p>
<div><div>
$("p").appendTo("div");
<div><p></p></div>
prepend() 元素内部前置内容
<p>hello</p>
$("p").prepend("<b></b>");
<p><b></b>hello</p>
$("p").prependTo("<b></b>");
after(); 在后面追加
before(); 在前面追加
$("p").insertAfter("#foo");
<div id="foo">da</div><p>da</p>
$("p").insertBefore("#foo");
<p></p><div id="foo"></div>
wrap();
$("p").wrap("<div></div>");
<div><p></p></div>
30.使用animate()方法
$("p").animate({height: "hide", width: "hide", opacity: "hide" }, 300);
$("p").hide(300);
$("p").animate({ opacity: "hide" }, 300);
$("p").fadeOut(300);
$("p").animate( {height: "hide" }, 300);
$("p").slideUp(300);
$("p").animate( {opacity: "0.8" }, 300);
$("p").fadeTo(300, "0.8");