jquery

作者: 饥人谷_林嘉俊 | 来源:发表于2017-09-26 17:33 被阅读35次

题目1: jQuery 中, $(document).ready()是什么意思?

$(document).ready()的作用是等Html文档解析完成后执行JS的内容,以防止DOM元素没加载完成就执行JS内容,这样可能会出现找不到元素的情况。
等价于 $(hander)

题目2: $node.html()和$node.text()的区别?

$node.html() 的作用是返回的内容是元素内部的html的结构,包括标签,文本内容
$node.text()的作用是返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容

题目3: $.extend 的作用和用法?

$.extend 的作用是用一个或多个其他对象来扩展一个对象,返回被扩展的对象。

参数:target,[object1],[objectN]Object,Object,ObjectV1.0

target:一个对象,如果附加的对象被传递给这个方法将那么它将接收新的属性,如果它是唯一的参数将扩展jQuery的命名空间。
object1:待合并到第一个对象的对象。
objectN:待合并到第一个对象的对象。

例:

var obj1 = {a:1}
var obj2 = {a:2,b:2}
$.extend(obj1,obj2)   //obj{a:2,b:2}

题目4: jQuery 的链式调用是什么?

jQuery的链式调用是jquery可以支持连续调用方法。
其中的原理是:在调用方法后,return this 返回当前实例对象的this,这样返回的又是对象,就又可以继续调用方法了

题目5: jQuery 中 data 函数的作用

data([key],[value])
在元素上存放或读取数据,返回jQuery对象。
当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如果浏览器支持HTML5,同样可以读取该DOM中使用 data-[key] = [value] 所存储的值。
当参数为两个时,为像该jQuery对象对应的DOM中存储key-value键值对的数据。
如果jQuery集合指向多个元素,那将在所有元素上设置对应数据。 这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串。
例:

 HTML 代码:
<div></div>
jQuery 代码:
$("div").data("blah");  // undefined
$("div").data("blah", "hello");  // blah设置为hello
$("div").data("blah");  // hello
$("div").data("blah", 86);  // 设置为86
$("div").data("blah");  //  86
$("div").removeData("blah");  //移除blah
$("div").data("blah");  // undefined

描述:
在一个div上存取名/值对数据
HTML 代码:
<div></div>
jQuery 代码:
$("div").data("test", { first: 16, last: "pizza!" });
$("div").data("test").first  //16;
$("div").data("test").last  //pizza!;

描述:
在HTML5规范中div中读取预存的data-[key]值
HTML 代码:
<div data-test="this is test" ></div>
jQuery 代码:
$("div").data("test"); //this is test!;

题目6:
写出以下功能对应的 jQuery 方法:

给元素 $node 添加 class active,给元素 $node 删除 class active

$node.addClass('active')
$node.removeClass('active')

展示元素$node, 隐藏元素$node

$node.show();
$node.hide();
$node.css('display','none');
$node.css('display','block')

获取元素$node 的 属性: id、src、title, 修改以上属性

$node.attr('id','123');
$node.attr('src','http:.....');
$node.attr('title','123');

给$node 添加自定义属性data-src

$('node').prop('data')

在$ct 内部最开头添加元素$node

$ct.prepend();

在$ct 内部最末尾添加元素$node

$ct.append($node)

删除$node

$node.remove()

把$ct里内容清空

$ct.empty()

在$ct 里设置 html <div class="btn"></div>

$ct.append( '<div class="btn"></div>')

获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)

$node.width(); // content
$node.height(); // content
$node.innerWidth(); // content+padding
$node.innerHeight(); // content+padding
$node.outWidth(); // content+padding+border
$node.outHeight(); // content+padding+border
$node.outWidth(true); // content+padding+border+margin
$node.outHeight(true); // content+padding+border+margin

获取窗口滚动条垂直滚动距离

$node.scrollTop();

获取$node 到根节点水平、垂直偏移距离

$node.offset();
$node.scrollLeft();

修改$node 的样式,字体颜色设置红色,字体大小设置14px

 $node.css({'color':'red', 'font-size','14px'})

遍历节点,把每个节点里面的文本内容重复一遍

 $.each(function(index,value,arr){
            var str = $(this).text();
            console.log($(this).text(str+str))             })

从$ct 里查找 class 为 .item的子元素

 $ct.find('.item')

获取$ct 里面的所有孩子

 $ct.children();

对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子

 $node.parents('.ct').find('.panel')

获取选择元素的数量

 $node.length

获取当前元素在兄弟中的排行

 $node.index();

题目7:
用jQuery实现以下操作当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色

当窗口滚动时,获取垂直滚动距离
当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色
当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字
当选择 select 后,获取用户选择的内容

预览
题目8: 用 jQuery ajax 实现如下效果。`当点击加载更多会加载数据展示到页面效果预览420

HTML

image.png

后台

image.png

相关文章

网友评论

    本文标题:jquery

    本文链接:https://www.haomeiwen.com/subject/mwdsextx.html