CreateTime--2017年7月17日11:45:27
Author:Marydon

jQuery特性

1.jQuery取值

  使用jQuery进行页面取值时,获取到的值的类型有两种:string、undefined。

  说明:如果页面上不存在该元素,不会报错,返回的是:undefined

2.jQuery赋值

  使用jQuery进行页面赋值时,如果值为undefined,则该行页面赋值方法虽然运行了,但是没有执行任何操作。

3.jQuery执行事件

   使用jQuery给页面上不存在的元素执行事件,不会报错,该行代码不会执行任何操作

举例:

  HTML部分

<input id="test" type="text"/>
<div id="test2" style="border:1px solid red;height: 20px;"></div>

  JAVASCRIPT部分

window.onload = function () {
// 例1.给id="test"的文本框赋值未定义
$('#test').val(undefined);
// 例2.给id="test2"的div添加内容:不存在的页面元素test3的值
$('#test2').html($('#test3').val());
// 例3.给页面上不存在的元素执行点击事件
$('#bcDiv table:eq(0)').click();
}

  说明:

    这三项的好处在于:

    a.如果不存在不会报错,而使用js就会报错;

    b.对页面进行赋值时,不会将undefined赋值到页面上,而是不执行任何操作(不会修改原文),而js会将undefined当作字符串输出到页面上。

UpdateTime--2017年8月24日17:55:48

4.操作CSS样式

<a href="www.baidu.com" id="ceshi">去除下划线</a> 

  4.1 操作单个CSS样式

$('#ceshi').css('text-decoration','none');  

  4.2 操作多个CSS样式

$('#ceshi').css({'text-decoration':'none','color':'#f57e42'}); 

注意:

  a.jQuery操作一个CSS样式,格式:css('样式名','样式值');

  样式名和样式值之间使用逗号隔开。

  b.jQuery操作多个(>=2)CSS样式,格式:css({'样式名':'样式值','样式名':'样式值',...});  

  样式名和样式值之间使用冒号隔开,多个样式之间使用逗号隔开,最外面使用大括号包住,即里面是一个标准的JSON对象。

  c.对于CSS样式的名称,中间不带有-的可以不加单引号;用-隔开的样式名,必须使用单引号括住。

UpdateTime--2017年8月25日08:11:07

5.绑定事件

  仍以上面的a标签为例

  5.1 绑定单个事件

  添加鼠标悬浮事件实现方式汇总:

  方式一:推荐使用

$(function(){
$('#ceshi').mouseover(function(){
$(this).css({'text-decoration':'none',color:'#FFF'});
});
}); 

  方式二:使用on事件

$(function(){
$('#ceshi').on('mouseover',function(){
$(this).css({'text-decoration':'none',color:'#FFF'});
});
});

  方式三:使用bind事件

$(function(){
$('#ceshi').bind('mouseover',function(){
$(this).css({'text-decoration':'none',color:'#FFF'});
});
}); 

  5.2 绑定多个事件

  添加鼠标悬浮事件和鼠标移除事件实现方式汇总:

  方式一:推荐使用

$(function(){
$('#ceshi').mouseover(function(){
$(this).css({'text-decoration':'none',color:'#FFF'});
}).mouseout(function(){
$(this).css('color','#000');//color必须加单引号,否则报错
});
});

  方式二:使用on事件

$(function(){
$('#ceshi').on({'mouseover':function(){
$(this).css({'text-decoration':'none',color:'#FFF'});
},
'mouseout':function(){
$(this).css('color','#000');
}
});
}); 

  方式三:使用bind事件

$(function(){
$('#ceshi').bind({'mouseover':function(){
$(this).css({'text-decoration':'none',color:'#FFF'});
},
'mouseout':function(){
$(this).css('color','#000');
}
});
}); 

注意:

  a.以on事件为例,jQuery其实就是javascript的on去掉而已;

  b.方式一:单个事件直接添加".事件(function(){})",多个事件在其后继续添加".事件(function(){})";

  c.方式二:单个事件格式:on('事件名',function(){}),多个事件格式:on({'事件名':function(){},'事件名':function(){},...});

   最外面使用{}包起来,事件名使用单引号括起来,事件名与匿名函数之间使用冒号,多个事件之间使用逗号隔开,即也是一个类似标准的JSON对象。 

6.执行多个jQuery代码

var newTable = $('#' + tableName).clone().attr('id', '').show().appendTo("#" + divName);

解说: 获取id=tableName的标签并对其进行克隆,设置克隆后的table兑现的id属性值为空,并让其显示出来,拼接到id=divName的div标签的最底部

UpdateTime--2017年9月4日17:12:40

7.获取子节点、子孙节点

// 获取的是子节点
var aa = $('#file_upload-queue').children('div').length;
// 获取的是子孙节点
aa = $('#file_upload-queue div').length;

8.通过class样式选取页面元素

  8.1 class样式只作用在一个元素上

  说明:获取到的有且只有一个jquery元素

  测试:

<div class="test">class样式只作用在一个元素上</div>
alert($('.test').html());

  8.2 class样式作用在多个元素上

  说明:获取到的多个jquery对象组成的数组

<div class="test">class样式作用在多个元素上 </div><div class="test">测试jquery通过class获取页面元素</div>
var array = $('.test');
for(var i=0;i<array.length;i++) {
alert($(array[i]).html());
}

  说明:通过class样式选取页面元素可以实现批量修改css样式

  举例:

<div class="test">class样式作用在多个元素上 </div><div class="test">测试jquery通过class获取页面元素</div> 
$('.test').css({height:'100px',width:'500px',border:'1px solid red'}); 

  效果:页面上所有class="test"的元素,都会起作用

UpdateTime--2017年11月6日17:24:32

9. jquery通过标签获取页面元素

  当页面上使用唯一一个标签时,获取到的有且只有一个jquery元素

  举例:$('body')

 

jQuery特性的更多相关文章

  1. 深入学习jQuery特性操作

    × 目录 [1]获取特性 [2]设置特性 [3]删除特性 前面的话 每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息.操作特性的DOM方法主要有3个:getAttrib ...

  2. JavaScript、Jquery选择题

    尚学堂Java EE软件工程师认证考试 试题库-选择题     一.    选择题(包括单选和双选) 1.B 在JavaScript中,以下变量命名非法的是(   )(选择一项) A. numb_1 ...

  3. 如何创建一个自定义jQuery插件

    简介 jQuery 库是专为加快 JavaScript 开发速度而设计的.通过简化编写 JavaScript 的方式,减少代码量.使用 jQuery 库时,您可能会发现您经常为一些常用函数重写相同的代 ...

  4. jquery,html5,css3主要特性总结

    jquery特性: 1.丰富简单的DOM选择器 2.同一函数实现get和set 3.支持链式方法书写 4.完善的事件处理功能 5.强大的css动画效果 6.完善的Ajax 7.简单的元素样式操作 8. ...

  5. JS基础(四)之jQuery

    31.jQuery(http://jquery.com/)是一个快速.简洁的JavaScript框架. 它封装了JavaScript常用的功能代码,提供一种便捷的JavaScript设计模式,优化HT ...

  6. js与jQuery实现方式对比汇总

      CreateTime--2016年12月16日09:11:23Author:Marydonjs与jQuery实现方式对比汇总 <div id="ListContainer" ...

  7. 关于前端jquery的总结

    简介 jQuery是一个JavaScript库,特性丰富,包含若干对象和很多函数,可以代替传统DOM编程的操作方式和操作风格,通过对DOM  API.DOM事件的封装,提供了一套全新的API,这套全新 ...

  8. 4_jquery

    官网:www.jquery.com 兼容: 1.jquery-3.1.0.js :form.attr("checked","false")无效 2.firefo ...

  9. ASP.NET MVC5高级编程 之 Ajax

    jQuery不仅支持所有现代浏览器,包括IE.Firefox.Safari.Opera和Chrome等,还可以在编写代码和浏览器API冲突时隐藏不一致性(和错误). 1. jQuery jQuery擅 ...

随机推荐

  1. Codeforces Round #301 (Div. 2) A. Combination Lock 暴力

    A. Combination Lock Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/540/p ...

  2. hihocoder1320 160周 压缩字符串

    hihocoder1320 题目链接 思路: dp解法.用map[i][j]表示从第i个开始到第j个的字串的best压缩长度.(包括i,j,两端闭合). 用k表示i,j中的一点. 用zip()表示压缩 ...

  3. linux基础命令学习(四)用户与群组

    一.linux用户账号的管理 linux用户账号的管理主要包括用户添加.用户删除.用户修改. 添加用户账号就是在系统创建一个新账号,然后为新账号分为用户号.用户组.主目录和登录Shell等资源. 刚添 ...

  4. 通过手机音频口,实现与单片机通讯,做电子签名成功n

    手机端的Ukey便携产品, 可以管理证书.加密解密.电子签名 : 1.通讯稳定,生成签名成功率100% 2.证书固化,私钥安全 3.走手机音频接口,通用.跨平台 4.耗电少,自带电池可长期供电,且可充 ...

  5. PHP中var_dump

    var_dump() 能打印出类型 print_r() 只能打出值echo() 是正常输出... 需要精确调试的时候用 var_dump();一般查看的时候用 print_r() 另外 , echo不 ...

  6. Activex 数字签名

    本次使用makecert的命令如下: makecert -sv online.pvk -n "CN=中国在线" -ss My -r -b 01/01/1900 -e 01/01/9 ...

  7. 1Password:让一个密码记住所有密码

    在这个信息大爆炸的时代,我们总有着各种各样的缘由,接触到各种各样的网站和爱屁屁,随之而来的,产生了大量的账号和密码. 每次新注册一个网站的时候,总会纠结一番:到底是新编一个密码呢?还是沿用之前的那一个 ...

  8. Code First 数据库的表中属性的配置

      数据类型的约定配置 默认规则 列的数据类型是由数据库决定的,SqlServer的默认规则如下 String: nvarchar(MAX) Int:int Bool:bit Decimal:deci ...

  9. redis中文API

    1.学习文档地址:http://www.redisdoc.com/en/latest/index.html 2.redis中文API REDIS所有的命令 <<ABOUT LIST> ...

  10. ffmpeg中的sws_scale算法性能对比

    sws_scale的算法有如下这些选择. #define SWS_FAST_BILINEAR 1#define SWS_BILINEAR 2#define SWS_BICUBIC 4#define S ...