1.类选择其下,第一个

$('selector').first()==$('selector:first')==$('selector:eq(0)')

2.如果要选择非第一个

$('selector:eq(n)')

3.Dom对象添加事件(比较随意)和JQuery 对象添加事件不一样(建议用on)

Dom.onClick=function(e){}
$('selector').on('click',function(){})

4.DOM 遍历是昂贵的,所以尽量将会重用的元素缓存

$this=$(this)

5.使用 jQuery 中的方法缺少经验,需要查看的文档,有一个更好或更快的方法

$('#id').data(key,value)
//改成(高效)
$.data('#id',key,value)

6.建议申明的全剧变量和调用时采用

window.global

7.鼠标点击其他地方收起“下拉框”

$('body').click(function(e)
{
  if (e.target.id != 'regionLabel' + pageIndex + ''&& e.target.id != 'regionSelectBox' + pageIndex+ '')
  {
    if (!$('#regionSelectBox' + pageIndex + '').hasClass('hide'))
    {
      $('#regionSelectBox' + pageIndex + '').addClass('hide');
      $('#toggleRegionSelectBox' + pageIndex + '').removeClass('invert');
    }
  }
});

8. toggleClass() 对设置或移除被选元素的一个或多个类进行切换。

该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。

9. 同辈.siblings()

$(this).addClass('ant-btn-primary').siblings().removeClass('ant-btn-primary');

10.去空

$(this).text().trim();

11.函数结束时紧跟的一对圆括号说明这个函数定以后立即执行

12.在JQuery中,先去空,利用$(this).text().trim();接着进行if判断时,最好把==换成indexOF模糊匹配

13.检测CSS类,hasClass只能接受单个类名作为参数,并且不支持函数参数,is()方法更灵活,可以用来做同样的事。

$('p').hasClass('className')
$('#id').is('.className')
$('#id').is('.classOne.classTwo')

14.数组去重

Array.prototype.unique=function(){
var result=[];
var json={};
for (var i = 0; i < this.length; i++) {
if (!json[this[i]]) {
result.push(this[i]);
json[this[i]]=1;
}
}
return result;
};
//调用
arr.unique();

15.防止点击事件冒泡(冒泡到祖、父类,因为它们可能也有点击事件)

//下面的方法可以借鉴:用户组成动态生成Table,特别是join() 方法用于把数组中的所有元素放入一个字符串。arrayObject.join(separator)

initE2XNeighborTable: function(){
              var $table = $('#tableEx2Neighbor').empty();
              var ring = $('#configAccessRing').val();
              var list = NEIGHBOR_INFO[ring];
              var thead = [
                      '<tr>',
                      '<th>pCell</th>',
                      '<th>sCell</th>',
                      '<th>No. of pCell Edge Users</th>',
                      '<th>No. of Scell Edge Users</th>',
                      '<th>No. of Neighboring Cells</th>',
                      '</tr>'
                      ].join('');
              var tbody = '';
              $.each(list, function(i, row){
                tbody += [
                      '<tr>',
                      '<td>' + row.pCell + '</td>',
                      '<td>' + row.sCell + '</td>',
                      '<td>' + row.pCellUser + '</td>',
                      '<td>' + row.sCellUser + '</td>',
                      '<td>' + row.neighborNum + '</td>',
                      '</tr>'
                      ].join('');
                   });
              $table.append(thead + tbody);
              },

JavaScript项目总结一的更多相关文章

  1. 把VSO作为GitHub上JavaScript项目的免费CI服务器

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软变得更加开放后,走向开放的不仅有.NET运行时.IDE工具,还有ALM服务器核心组 ...

  2. JavaScript 项目构建工具 Grunt 实践:安装和创建项目框架

     Grunt 是一个基于任务的 JavaScript 项目命令行构建工具,运行于 Node.js 平台.Grunt 能够从模板快速创建项目,合并.压缩和校验 CSS & JS 文件,运行单元测 ...

  3. Windows Store Javascript项目使用高德地图、谷歌地图、百度地图API

    原文 Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 在Win8 Store 项目中可以使用的地图主要有微软的Bing Map,目前高德地图sdk也支持Wi ...

  4. Win10系列:JavaScript 项目模板和项模板

    使用Visual Studio 开发Windows应用商店应用时,通过其提供的模板可以帮助我们快速地创建一个应用.其中,在新建一个Windows应用商店应用程序项目时可以在项目模板中选择所需要的模板类 ...

  5. GitHub上最流行的Top 10 JavaScript项目

    统计出Github中所有项目的数量,几乎是不可能的,而明确指出哪些是最优秀的项目就更不可能了.如果说到JavaScript,曾经极富创新的项目(很可能)在一两个月后就会变得过时.落后.以防被淹没在大量 ...

  6. webpack前置知识2(JavaScript项目初始化)

    所有的JavaScript项目都是在终端输入npm init -y进行项目初始化,如果要自定义项目规则,去掉 -y 参数. vscode终端快捷键ctrl+` 初始化 运行上述命令后,项目内会新建一个 ...

  7. 如何在TypeScript/JavaScript项目里引入MD5校验和

    摘要:MD5校验和则是其中一种数学算法,通常是使用工具对文件计算得出的一组32 个字符的十六进制字母和数字. 本文分享自华为云社区<TypeScript/JavaScript项目里如何做MD5校 ...

  8. javascript项目实战之原生js模拟淘宝购物车

    通过JavaScript实现类似与淘宝的购物车效果,包括商品的单选.全选.删除.修改数量.价格计算.数目计算.预览等功能的实现.实现的效果图: 相应的代码: shoppingCart.html < ...

  9. Win10系列:JavaScript 项目模板中的文件和项模板文件

    通过上面内容的学习,相信读者已经对各种项目模板和项模板有了大致的了解,本节将进一步介绍项目模板中默认包含的项目文件以及项模板文件,首先讲解这些文件中的初始内容以及作用,然后介绍在一个页面中如何添加控件 ...

  10. 实用篇:说说我在JavaScript项目中使用的工具类

    在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * ...

随机推荐

  1. Python【每日一问】21

    问: [基础题]输入某年某月某日,判断这一天是这一年的第几天? [提高题]用 *号输出字母 C的图案 答: [基础题]输入某年某月某日,判断这一天是这一年的第几天? 方法1: import time ...

  2. k8s+Jenkins+GitLab-自动化部署项目

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 此文阅读目录: 1.闲聊 ...

  3. CSS3rem自适应

    CSS3rem自适应 如果外层背景是 width:100%; height:100%;拉伸的背景 那top必须要用百分比 才能保证跟背景结合如果外层背景是 width:100%; 自适应宽度的背景 那 ...

  4. TensorFlow学习笔记——cmd调用方法

    由于tensorflow支持最高的python的版本和anaconda自动配置的python最新版本并不兼容,故直接用常规的在终端键入“python”会出现问题.经过尝试对激活环境,调用的过程暂总结如 ...

  5. Java+Python+前端 学习资料大全 百度云盘

    Java架构师3大阶段 链接:https://pan.baidu.com/s/1DlXh33y5t4cZUmZH0cLvCw 提取码:5s76 2019前端架构阶段 链接:https://pan.ba ...

  6. SQL server中常用sql语句

    --循环执行插入10000条数据 declare @ID intbeginset @ID=1 while @ID<=10000begininsert into table_name values ...

  7. Android studio 混淆配置

    混淆 studio 使用Proguard进行混淆,其是一个压缩.优化和混淆java字节码文件的一个工具. 功能:Shrinking(压缩).Optimization(优化).Obfuscattion( ...

  8. #define宏作用

    预处理器的任务 简单来讲,预处理器的任务就是执行源代码中的预处理指令,并对源代码进行相应的处理.因此,从预处理指令的类型来讲,预处理器的任务包括如下的几个部分: 将其他文件包含到当前文件中. 定义宏, ...

  9. web和网络基础

    TCP/IP 协议族按层次分别分为以下 4 层: 应用层. 传输层. 网络层和数据链路层 把 TCP/IP 层次化是有好处的. 比如, 如果互联网只由一个协议统筹, 某个地方需要改变设计时, 就必须把 ...

  10. echarts 3D地球实现自动旋转

    素材已上传至https://gitee.com/i1520/echarts3DEarth.git     https://github.com/i1520/echarts3DEarth 1.引入js文 ...