<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
  <div id='div'></div>
  <div class='div'></div>
  <div class='div'></div>
  <div class='div'></div>
  <input type="text" name="hobby">
  <input type="text" name="hobby">
</body>
</html>

1.通过id获取元素的方法 : document.getElementById('div'

  params: 参数只能是合法的 id 名称

  此方法获取的元素返回的是一个元素本身对象   

  

2.通过class名获取元素的方法:document.getElementsByClassName('div')

  params: 参数只能是合法的 class 类 名称

  此方法获取的元素返回的是一个数组,数组元素是选中的元素本身

  

3.通过标签名获取元素的方法:document.getElementsByTagName('div')

  params: 参数只能是合法的 标签 名称

  此方法获取的元素返回的是一个数组,数组元素是选中的元素本身

  

4.通过 name 名称获取元素的方法:document.getElementsByName('hobby')

  params: 参数只能是合法的 name 名称

  此方法获取的元素返回的是一个数组,数组元素是选中的元素本身

  

5.原生的强大DOM选择器querySelector   :  document.querySelector(params)

  params: 参数可以是合法的选择器: 标签,id,class,嵌套(div>p、.div .p……)

    选择id: document.querySelector('#div')     类似   document.getElementsByClassName('div')

    选择类:document.querySelector('.div')    类似     document.getElementsByClassName('div')[0] (数组的第一个元素)

    选择标签:: document.querySelector('div')    类似     document.getElementsByTagName('div')[0] (数组的第一个元素)

    嵌套选择: document.querySelector('body div')

  此方法获取的元素返回的是元素本身, 只返回第一个元素;

6.原生的强大DOM选择器querySelectorAll   :  document.querySelectorAll(params)

  params: 参数可以是合法的选择器: 标签,id,class,嵌套(div>p、.div .p……)

    选择id: document.querySelectorAll('#div')[0] (数组的第一个元素)  类似  document.getElementsByClassName('div')

    选择类:document.querySelectorAll('.div')    类似   document.getElementsByClassName('div')  返回的都是数组

    选择标签:: document.querySelectorAll('div')  类似   document.getElementsByTagName('div')

    嵌套选择: document.querySelectorAll('body div')

  此方法获取的元素返回的是是一个数组,数组元素是选中的元素本身;

7. 使用 querySelectorAll 封装类似jquery的 $ 获取元素的方法 

function $ (tag) {
var el = document.querySelectorAll(tag)
if (el.length === 1) return el[0]
return el
}

console.log($('div'))

console.log($('#div'))

												

原生j获取元素的几种方法的更多相关文章

  1. js中用tagname和id获取元素的3种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID

    query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的 ...

  3. JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )

    1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...

  4. javascript 获取html元素的三种方法

    操作HTML元素 你首先找到该元素. 三种方法来做这件事: 通过id找到HTML元素 通过标签名找到HTML元素 通过类名找到HTML元素 通过id查找HTML元素 在DOM中查找HTML元素的最简单 ...

  5. 解析Jquery取得iframe中元素的几种方法

    iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下   DOM方法:父窗口操作IFRAME:window.frames[&q ...

  6. PHP中获取星期的几种方法

    PHP中获取星期的几种方法   PHP星期几获取代码: 1 date(l); 2 //data就可以获取英文的星期比如Sunday 3 date(w); 4 //这个可以获取数字星期比如123,注意0 ...

  7. JS动态创建元素(两种方法)

    前言 创建元素有两种方法 1)将需要创建的元素,以字符串的形式拼接:找到父级元素,直接对父级元素的innnerHTML进行赋值. 2)使用Document.Element对象自带的一些函数,来实现动态 ...

  8. 原生js获取元素的样式信息

    工作中经常会需要获取DOM元素的样式,之前都是通过jquery的css()方法,现在总结一下通过原生js获取元素样式的方法. obj.style js var _width = obj.style.w ...

  9. 用css隐藏元素的5种方法

    .green { width: 100px; height: 100px; background-color: #a0ee00; text-align: center; float: left; ma ...

随机推荐

  1. Java-Runoob-高级教程-实例-数组:02. Java 实例 – 数组添加元素

    ylbtech-Java-Runoob-高级教程-实例-数组:02. Java 实例 – 数组添加元素 1.返回顶部 1. Java 实例 - 数组添加元素  Java 实例 以下实例演示了如何使用s ...

  2. 关于final修饰符

    一:修饰成员变量 关于被final修饰的成员属性(常量)初始化赋值问题分为以下两种情况: 1.被static修饰符修饰:可以通过两种途径进行初始化赋值 ① 在常量被定义时进行初始化赋值 ② 在静态代码 ...

  3. ios http2客户端访问nginx失败bug

    我们将项目迁入腾讯云后,外网访问流量转发如下外网--->大禹BGP(BGPAntiDDoS)高防---->lbc(LoadBalance cluster)---->lb-----&g ...

  4. bzoj 3196 Tyvj 1730 二逼平衡树【线段树 套 splay】

    四舍五入就是个暴力. 对于线段树的每个区间都开一棵按权值排序的splay 对于第二个操作,二分一下,每次查询mid的排名,复杂度 $ O(nlog(n)^{3}) $ 其余的操作都是$ O(nlog( ...

  5. bzoj 4784: [Zjoi2017]仙人掌【tarjan+树形dp】

    其实挺简单的但是没想出来---- 首先判断无解情况,即,一开始的图就不是仙人掌,使用tarjan判断如果一个点dfs下去有超过一个点比他早,则说明存在非简单环. 然后考虑dp,显然原图中已经属于某个简 ...

  6. 用Python解析HTML,BeautifulSoup使用简介

    Beautiful Soup,字面意思是美好的汤,是一个用于解析HTML文件的Python库.主页在http://www.crummy.com/software/BeautifulSoup/ , 下载 ...

  7. [USACO 2012 Mar Gold] Large Banner

    传送门:http://www.usaco.org/index.php?page=viewproblem2&cpid=127 又是一道这种题目,遇到一次跪一次,这次终于硬着头皮看懂了题解,但是谢 ...

  8. linux的SHELL编程

    管道 | 特殊的重定向 前一个命令的输出作为后一个命令的输入; 管道连接的命令数没有限制; who|wc−l统计用户数ps |sort|more 按序显示当前进程名 字符:具有特定作用的特殊字符 ,& ...

  9. CalService

    package org.crazyit.cal; import java.math.BigDecimal; /** * 计算业务类 * * @author yangenxiong yangenxion ...

  10. Android 内存溢出处理方案

    转自 : http://www.cnblogs.com/hello-ruby/archive/2013/04/19/3031098.html 首先我们来看看android内存溢出的原因,有可能是: 由 ...