2019独角兽企业重金招聘Python工程师标准>>>

CDN=Content Delivery Networks
DOM=Document Object Model
W3C=World Wide Web Consortium
CSS home page
总是面向集合> 当指示jQuery“找到带collapsible类的全部元素,然后隐藏它们”时,不需循环遍历每个返回的元素。.hide()被设计成自动操作对象集合,而非单独的对象。利用这种称作隐式迭代(implicit iteration)的技术,就可抛弃那些臃肿的循环结构,从而大幅地减少代码量
将多重操作集于一行> 为避免过度使用临时变量/不必要的代码重复,jQuery在其多数方法中采用连缀(chaining)的编程模式。这种模式意味着基于一个对象进行的多数操作的结果,都会返回该对象自身,以便为该对象应用下一次操作
jQuery官方网站始终包含该库最新的稳定版本

随着jQuery的日益流行,很多公司都通过自己的CDN 托 管 其 库 文 件 , 让 开 发 人 员 能 更 方 便 地 使 用。 最 典 型 的 就 是 谷 歌和微软和jQuery项目自己,jQuery库文件被放在了强劲、低延时的服务器上,这些服务器遍布全球,无论用户在哪儿,都能以快速下载到jQuery。虽然托管在CDN上的文件由于分布式和缓存原因有速度优势,但在实际开发中还是使用本地副本更方便
jQuery从2.0开始不再支持IE6、IE7和IE8
如果项目中有针对jQuery 1.9之前的版本编写的代码,可使用jQuery迁移插件实现兼容
引用jQuery库文件的<script>标签,必须放在引用自定义脚本文件的<script>前。否则,引用不到jQuery框架
浏览器中一般内置开发工具。例如:Internet Explorer Developer Tools,Safari Web Inspector,Chrome Developer Tools,Firefox插件Firebug,Opera Dragonfly
jQuery最强大的特性之一就是它能简化在DOM中选择元素的任务。DOM充当了JavaScript与网页间的接口;它以对象网络而非纯文本形式来表现HTML源代码
jQuery支持CSS规范1到3中几乎所有选择符,具体内容参考W3C
负 责 任 的 jQuery开 发 者 应  在 编 写 自 己  程 序 时 , 始 终 坚 持 渐 进 增 强(progressive enhancement)和平稳退化(graceful degradation)理念,做到在JavaScript禁用时,页面仍能与启用JavaScript时一样准确地呈现,即使没有那么美观。渐进增强的更多信息
属性选择符使用一种从正则表达式中借鉴来的通配符语法
自定义选择符的语法与CSS伪类选择符语法相同,即以:开头。例如,从带有horizontal类的<div>集合中选择第2项:
$('div.horizontal:eq(1)')。注意,JavaScript数组采用从0开始的编号方式,所以eq(1)取得第2个元素。而CSS从1开始,因此CSS选择符$('div:nth-child(1)')取得的是作为其父元素第1个子元素的所有 div元素。如果记不清哪个从0开始,哪个从1开始,可以参考jQuery API文档(:nth-child()是jQuery中唯一从1开始计数的选择符)
表单选择符:
    :input 输入字段、文本区、选择列表和按钮元素
    :button 按钮元素或type属性值为button的输入元素
    :enabled 启用的表单元素
    :disabled 禁用的表单元素
    :checked 勾选的单选按钮或复选框
    :selected 选择的选项元素
$('tr:even').addClass('alt');,可通过.filter()重写成$('tr').filter(':even').addClass('alt');
.filter()十分强大,因为它可以接受函数参数。通过传入的函数,可执行复杂的测试,以决定相应元素是否应该保
留在匹配的集合中。例如,假设我们要为所有外部链接添加一个类。
    a.external {
        background: #fff url(images/external.png) no-repeat 100% 2px;
        padding-right: 16px;
    }
    jQuery中没有针对这种需求的选择符。如果没有筛选函数,就必须显式地遍历每个元素,对它们单独进行测试。但有了下面   的筛选函数,就仍可利用jQuery的隐式迭代能力,保持代码的简洁:
    $('a').filter(function() {
        return this.hostname && this.hostname != location.hostname;
    }).addClass('external');
    第2行代码可以筛选出符合下面两个条件的<a>元素:
        必须包含1个带域名(this.hostname)的href属性。这个测试可以排除mailto及类似链接。
        链接指向的域名(还是 this.hostname )必须 != 页面当前所在域的名称(location.hostname)
    更准确地说,.filter()会迭代所有匹配的元素,对每个元素都调用传入的函数并测试函数的返回值。如果函数返回false,则从匹配集合中删除相应元素;true,保留。

突出显示Henry所在单元格后面的全部单元格:
    $(document).ready(function() {
       $('td:contains(Henry)').nextAll().addClass('highlight');
    });
    .next() 和 .nextAll() 分别有一对应方法,即 .prev()和.prevAll()。此外,.siblings()能选择处于相同DOM层的所有其他元素,无论这些元素处于当前元素之前还是之后.要在这些单元格中再包含原单元格可添加.addBack():
    $(document).ready(function() {
        $('td:contains(Henry)').nextAll().addBack().addClass('highlight');
    });
    要选择同一组元素,可采用的选择符和遍历方法的组合很多。例如:
    $(document).ready(function() {
        $('td:contains(Henry)').parent().children().addClass('highlight');
    });
     $('td:contains(Henry)') // Find every cell containing "Henry"
        .parent() // Select its parent
        .find('td:eq(1)') // Find the 2nd descendant cell
        .addClass('highlight') // Add the "highlight" class
        .end() // Return to the parent of the cell containing "Henry"
        .find('td:eq(2)') // Find the 3rd descendant cell
        .addClass('highlight'); // Add the "highlight" class
想知道带有id="my-element"属性的元素的标签名:
    var myTag = $('#my-element').get(0).tagName;
    为进一步简化,jQuery为 .get() 提供了一种简写方式。比如,可将$('#my-element').get(0)简写为:
        var myTag = $('#my-element')[0].tagName;
对象字面量:一般,数字值不需加引号而字符串值需加引号。由于属性名是字符串,所以属性通常需加引号。但如果对象字面量中的属性名是有效的JavaScript标识符,比如使用驼峰大小写形式的DOM表示法时,则可省略引号。
parseFloat()会在一个字符串中从左到右地查找一个浮点(十进制)数。例如,它会将字符串'12'转换成数字12。另外,它还会去掉末尾的非数字字符,因此'12px'就变成了12。如果字符串本身以一个非数字开头,返回NaN
带厂商前缀的样式属性:浏览器厂商在引入试验性的样式属性时,通常会在实现达到CSS规范要求前,在属性名前添加一个前缀。等到实现和规范都稳定后,这些属性的前缀就会被去掉。但在jQuery中可直接使用标准的属性名,比如:.css('propertyName', 'value')。如果样式对象中不存在这个属性,jQuery就会依次检测所有带前缀(Webkit、O、Moz、ms),然后使用第1个找到的那个属性。
.hide()会将匹配的元素集合的内联style属性设为display:none。并记住原先的display值,通常是block、inline或inline-block。恰好相反,.show()将匹配的元素集合的display属性恢复为应用display: none之前的可见属性

转载于:https://my.oschina.net/u/1866954/blog/332777

jQuery learn - 1 - 选择元素 CSS相关推荐

  1. 如何使用jQuery按名称选择元素?

    本文翻译自:How can I select an element by name with jQuery? Have a table column I'm trying to expand and ...

  2. css设定元素左对齐,左对齐标签 - 右对齐选择元素(CSS)

    我有一个表单布局,我想显示左对齐的标签和右对齐的表单控件.我一直试图让它在表单控件上使用float:right(在这种情况下为a),然后将clearfix类应用于它,但clearfix似乎不在我的选择 ...

  3. fond+html属性,JQuery 干货篇之选择元素

    JQuery 干货篇之选择元素 实验的HTML+CSS的代码 html Example Jacqui's Flower Shop Astor: Daffodil: Rose: Peony: Primu ...

  4. jQuery的DOM操作之选择元素

    .get() 用jQuery选择器选择出来的元素被包装为jQuery对象,而面对不同的需求可能需要我们获取的有时候是jQuery对象,有时候是原生DOM元素,此时使用get方法进行进一步的选择可获得原 ...

  5. jquery笔记一:下载安装、语法、选择器、遍历选择元素的方法、jQuery动画

    目前 jQuery 兼容于所有主流浏览器, 包括 IE 6!开发时常用 jquery.js,上线用 jquery.min.js. jq插件 目前jQuery有三个大版本: (1)1.x.x: 兼容ie ...

  6. jQuery——入门基础(获取元素、样式、属性,选择集、过滤器、样式类)

    目录 Jquery的加载方法 获取元素 操作样式和属性 选择集和过滤器 选择集转移 绑定常用事件 操作样式类名 Jquery的加载方法 (1)$(document).ready(function(){ ...

  7. 初识jQuery,八字真言“选择元素,对其操作”

    jQuery在我印象中,就是很多类似$(),然后昨天开始接触了,觉得很和谐,获取元素比JavaScript简单很多,有意思. 一.开始学习jQuery,下载jQuery库的文件 http://jque ...

  8. html name选择器,2种用jQuery按name属性选择元素的方法

    学习2种用jQuery按name属性选择元素的方法,拿走不谢! 给定一个HTML文档,如何使用jQuery按name属性选择元素? 在jQuery中,可以使用2个方法通过name属性选择元素:下面就来 ...

  9. JQuery按name属性选择元素

    方法1:使用name属性选择器 name属性选择器可用于按name属性选择元素.此选择器选择值与指定值完全相等的元素. 语法:[name="nameOfElement"] 示例: ...

最新文章

  1. C++用substr()函数消除前后空格
  2. Android 适配底部返回键等虚拟键盘的完美解决方案
  3. Excel常见错误信息
  4. 计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt
  5. QString和string互相转换乱码处理
  6. minigui显示时遇到的一个问题(暂时记下来)
  7. 【Markdown/typora】程序员写博客2分钟简单入门
  8. 软件设计模式—控制反转
  9. python Modbus基础
  10. 标准C语言库 Glibc 2.15
  11. igmpproxy_IGMP proxy开发笔记 | 学步园
  12. svn主干开辟分支、分支合并到主干
  13. java后台设置定时执行任务,Java定时任务调度详解
  14. PageHelper分页插件踩坑--最后一页查询效率低下
  15. 机器学习识别颜色_使用机器学习为颜色命名
  16. 手把手教你一项Python爬虫接单(技术+渠道)
  17. ShapeFile预览神器QuickLook
  18. edup无线网卡驱动安装linux,EDUP无线网卡驱动安装失败解决方法
  19. 前不见古人,后不见来者,独他一人“怀才不遇”?慎用!
  20. System.Data.SqlClient.SqlException:“登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用。”

热门文章

  1. 第四节 莎士比亚模板
  2. 背水一战 Windows 10 (83) - 用户和账号: 数据账号的添加和管理, OAuth 2.0 验证
  3. vue-cli脚手架项目构成
  4. docker学习实践之路[第五站]mysql镜像应用
  5. gamma函数及相关其分布
  6. 脱贫利器 | PYTHON多线程行情抓取工具实现
  7. 如何用java语法解析接口返回的json串?
  8. Win8.1下Node.js连接oracle
  9. 动态查询设置mysql慢查询
  10. LA 3353 最优巴士线路设计