<!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. hdu 1284

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  2. Struts Filter告警:FilterDispatcher <<< is deprecated! Please use the new filters!

    在struts2.3.14下,web.xml中使用 <filter> <filter-name>struts2</filter-name> <!-- < ...

  3. java笔记线程的生命周期图解

  4. 【黑金教程笔记之005】【建模篇】【Lab 04 消抖模块之二】—笔记

    实验四和实验三的区别在于输出.实验三是检测到由高到低的电平变化时就拉高输出,检测到由低到高的电平变化时就拉低输出.而实验四检测到由高到低的电平变化时产生一个100ms的高脉冲.当检测到由低到高的电平变 ...

  5. 异或+构造 HDOJ 5416 CRB and Tree

    题目传送门 题意:给一棵树,问f (u, v) 意思是u到v的所有路径的边权值的异或和,问f (u, v) == s 的u,v有几对 异或+构造:首先计算f (1, u) 的值,那么f (u, v) ...

  6. 暴力 Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II

    题目传送门 /* 暴力:O (n^2) */ #include <cstdio> #include <algorithm> #include <cstring> # ...

  7. MyEclipse去除不必要的validation

    MyEclipse在构建项目时去除不必要的Valication可以加快构建速度. 操作: Window->Perferences->MyEclipse->Validation 在Va ...

  8. LD_LIBRARY_PATH与-L的关系以及延伸

    最近跟同学讨论c++在编译时g++ -L.. 和LD_LIBRARY_PATH的问题,今天在做一个东西的时候发现,我对这两个东西的理解是错误的,经过一番研究,写下我对这些东西的想法,如果有不对的地方, ...

  9. 死磕 java集合之LinkedList源码分析

    问题 (1)LinkedList只是一个List吗? (2)LinkedList还有其它什么特性吗? (3)LinkedList为啥经常拿出来跟ArrayList比较? (4)我为什么把LinkedL ...

  10. 用vue写的移动端车牌号输入法

    效果图: (录制了视频演示,然而不会上传.....心塞.....) 本页面所在项目已上传GitHub,github下载地址:https://github.com/dan-Zd/car-vueapp  ...