在CSS中,经常会在第一行写下这样一段样式
`* {padding: 0; margin: 0;}`
通配符*意味着给所有的元素设置默认的边距。jQuery中我们也可以通过传递*选择器来选中文档页面中的元素
描述:
`$( "*" )`
抛开jQuery,如果要获取文档中所有的元素,通过document.getElementsByTagName()中传递"*"同样可以获取到
不难发现,id、class、tag都可以通过原生的方法获取到对应的节点,但是我们还需要考虑一个兼容性的问题,我这里顺便提及一下,比如:
1. IE会将注释节点实现为元素,所以在IE中调用getElementsByTagName里面会包含注释节点,这个通常是不应该的
2. getElementById的参数在IE8及较低的版本不区分大小写
3. IE7及较低的版本中,表单元素中,如果表单A的name属性名用了另一个元素B的ID名并且A在B之前,那么getElementById会选中A
4. IE8及较低的版本,浏览器不支持getElementsByClassName
看到了吧,作为一名合格的前端不是那么简单的,就一个基本的选择器上面都需要做这么多兼容,幸好有jQuery的出现,让我们省了很多功夫,如果大家对jQuery的实现感兴趣,可以看我另一个门课程 《jQuery源码解析》
~~~
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<style>
div {
width: 100px;
height: 90px;
float: left;
padding: 5px;
margin: 5px;
background-color: #EEEEEE;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<div class="aaron">
<p>class="aaron"</p>
<p>选中</p>
</div>
<div class="aaron">
<p>class="aaron"</p>
<p>选中</p>
</div>
<div class="imooc">
<p>class="imooc"</p>
<p>jQuery选中</p>
</div>
<div class="imooc">
<p>class="imooc"</p>
<p>jQuery选中</p>
</div>
<script type="text/javascript">
//获取页面中所有的元素
var elements1 = document.getElementsByTagName('*');
</script>
<script type="text/javascript">
//获取页面中所有的元素
var elements2 = $("*") ;
//原生与jQuery方法比较
//===表示数据和类型都相等
if(elements2.length === elements1.length){
elements2.css("border","1px solid red");
}
</script>
</body>
</html>
~~~
- 前端工程师
- HTML
- 使用meta实现页面的定时刷新或跳转
- 表单相关
- 表单元素input、按钮、文字完美垂直居中对齐方法
- CSS
- 相关工具网站
- JS
- jQuery
- 第1章 初始jQuery
- 环境搭建
- jQuery对象与DOM对象
- jQuery对象转化成DOM对象
- DOM对象转化成jQuery对象
- 第2章 jQuery选择器
- id选择器
- 类选择器
- 元素选择器
- 全选择器(*选择器)
- 层级选择器
- 基本筛选选择器
- 内容筛选选择器
- 可见性筛选选择器
- 属性筛选选择器
- 子元素筛选选择器
- 表单元素选择器
- 表单对象属性筛选选择器
- 特殊选择器this
- 第3章 jQuery的属性与样式
- 元素的数据存储
- 问题解决方案
- 解决innerHTML包含的js代码不能被执行的问题
- webpackdoc
- 前端开发框架
- Bootstrap 3.3.6
- 起步
- 全局 CSS 样式
- 概览
- 栅格系统
- PHP
- PHP入门篇
- 基础总结
- PHP环境变量$_SERVER和系统常量详细说明
- PHP进阶篇
- 数组
- 函数
- 类
- 字符串操作
- 正则表达式
- 会话控制
- 文件系统
- 日期和时间
- 图形图像操作
- PHP异常处理
- 数据库操作
- WEB在线文件管理器
- PHP文件操作
- 获取首层目录信息
- 获取文件信息
- 列表显示文件及大小
- PHP与MySQL关系大揭秘
- PHP支持哪些数据库
- 数据库扩展
- 连接MySQL数据库
- 执行MySQL查询
- 插入新数据到MySQL中
- MVC架构模式分析与设计
- Smarty模版语法
- Smarty的基本语法
- Smarty的条件判断语句
- Smarty的循环语句
- Smarty的文件引用
- Smarty类和对象赋值与使用
- Smarty函数的使用
- functions函数插件的定义和使用
- modifiers变量调节器插件的定义和使用
- block functions区块函数插件的定义和使用
- Smarty实例
- MVC微型框架的建立
- 网络摘抄
- PHPExcel如何读取超大excel文件
- Composer
- Composer技巧
- PHP 开发者该知道的 5 个 Composer 小技巧
- composer常用命令
- Composer使用方法整理(Cy23)
- 利用Composer一步一步搭建自己的PHP框架
- ThinkPHP
- ThinkPHP中RBAC类详解(一)
- 附:添加注释版RBAC类源码
- 常见问题
- 常见方法
- thinkphp 合并两个字段组合成一个临时字段concat函数
- ThinkPHP Where 条件中使用表达式
- 编程相关工具
- Eclipse
- Eclipse或Zendstudio汉化
- Zend studio
- Zendstudio快捷键
- Zend Studio实用快捷键一览表
- Sublime text
- Sublime text快捷键
- 16 个 Sublime Text 快捷键
- Emmet的用法及相关语法
- VS Code
- 数据库
- MySql
- 问题汇总
- mysql创建存储过程失败1307错误解决
- Mysql出现Field * doesn't have a default value解决办法
- mysql:ADO连接mysql数据库,驱动程序和ODBC数据源问题
- 自己如何正确获取MYSQL的ADO连接字符串
- 网上摘抄
- mysql 存在更新 不存在插入
- Mysql字符串字段中是否包含某个字符串,用 find_in_set
- mysql字段类型对应的数字编号
- 5.7mysql group分组查询错误问题
- mysql常用操作语句
- SQL2005
- SQL常见错误
- 使用 sp_change_users_login 修复产生的孤 立账户 & 还原中的孤立用户
- ASP
- Url编码解码函数合集 含utf-8和gb2312
- 其他前端相关技巧
- 联机查看 Office 文档
- 服务器配置
- windows
- 服务器安装
- XAMPP自带TOMCAT插件可以支持php+java
- IIS
- iis7服务器,客户端无法下载exe文件的解决之道
- Linux
- ubuntu
- Linux安装JDK
- 辅助开发工具
- Git