`

js querySelector和getElementById通过id获取元素的区别

    博客分类:
  • JS
阅读更多
代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"/> 
</head> 
<body> 
<div id="02E503E2A1C011CFC85B7B701A0677EC0900000000000001"></div> 
<script> 
var str = '02E503E2A1C011CFC85B7B701A0677EC0900000000000001'; 
function bySelector(id) { 
return document.querySelector('#'+id); 

function byId(id) { 
return document.getElementById(id); 


alert(bySelector(str)); 
alert(byId(str)); 
</script> 
</body> 
</html> 


两个函数bySelector,byId分别通过querySelector和getElementById获取元素. 

页面上有id为“02E503E2A1C011CFC85B7B701A0677EC0900000000000001”的元素。 

结果:所有支持querySelector的浏览器中通过bySelector均获取不到(报错),但通过getElementById却可以获取。 

开始怀疑是id的字符串太长的原因导致querySelector获取不到。真正原因却是querySelector按css规范实现,即css标识符也不能以数字开头。 

W3 写道 
In CSS, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646 characters U+00A0 and higher, plus the hyphen (-) and the underscore (_); they cannot start with a digit, two hyphens, or a hyphen followed by a digit. Identifiers can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier "B&W?" may be written as "B\&W\?" or "B\26 W\3F".

分享到:
评论

相关推荐

    js获取表格中的元素id

    1. `getElementById()`:这是最直接的方法,用于根据给定的ID获取元素。例如,如果知道单元格ID是"cell1",可以这样写: ```javascript var cell = document.getElementById("cell1"); ``` 这将返回匹配ID的元素...

    JS操作DOM元素属性和方法大全

    - `getElementById`: 通过ID获取元素。 - `getElementsByClassName`: 通过类名获取元素集合。 - `getElementsByTagName`: 通过标签名获取元素集合。 - `querySelector`: 获取匹配CSS选择器的第一个元素。 - `...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十四:HTML DOM-文档元素的操作(二)

    首先,`getElementById()`是获取特定ID元素的常用方法。通过这个方法,我们可以直接根据元素的ID找到它,并对其进行操作,例如改变其内容、样式或属性。例如,`document.getElementById('myElement').innerHTML = '...

    javascript高级选择器querySelector和querySelectorAll全面解析

    以上三种方式都可以获取到同一个元素,区别在于它们的方法和返回值类型不同。 在使用这些选择器时,开发者还需要了解与之相关的其他JavaScript库或框架中的方法。比如,jQuery中的 `$(element).find(selector)` ...

    06-作业解答 获取元素方式_web_

    在“06-作业解答 获取元素方式_web_”这个主题中,我们主要探讨的是WEB前端编程的基础知识,特别是关于如何在网页上获取和操作元素的技术。这是一个适合小白入门的教程,旨在帮助初学者从基础到精通逐步掌握前端...

    通过js给html元素赋值

    1. **通过ID获取元素并修改属性** JavaScript提供了多种方式来获取HTML元素,并对其进行修改。其中一种常用的方式是`document.getElementById()`,它可以返回具有指定ID的第一个对象的引用。例如: ```...

    Javascript获取相同CSS样式的元素

    1. `document.getElementById(id)`:通过元素的id获取单个元素。 2. `document.getElementsByClassName(class)`:通过类名获取元素集合。 3. `document.getElementsByTagName(tag)`:通过标签名获取元素集合。 4. `...

    JavaScript中常见获取元素的方法汇总

    本文将详细介绍JavaScript中三种常见的获取DOM元素的方法,这些方法包括通过元素ID获取、通过标签名获取以及通过类名获取。 首先,通过元素ID获取DOM元素是最常见和直接的方法。JavaScript提供了一个名为...

    js中利用tagname和id获取元素的方法

    &lt;title&gt;3种用tagname和id获取元素的方法 body{ margin:0; } ul{ margin:0; padding:0; list-style:none; } h1{ margin:0; } &lt;div class="box" id="box"&gt; 分类名称 &lt;ul class="box-list" id="box-list"&gt; ...

    如何用js获取table第1行第2列的值

    在JavaScript中,`rows`属性可以用来访问表格的行,其返回一个`HTMLCollection`,可以通过索引来获取。第一行的索引是0: ```javascript var firstRow = table.rows[0]; ``` 3. **获取第二列:** 最后,获取第二列...

    Javascript Dom元素获取和添加详解

    document.getElementById():通过id获取一个Dom元素 document.getElementsByClassName():通过class名字获取一个或多个Dom元素(伪数组) document.getElementsByTagName():通过标签名字获取一个或多个Dom元素...

    jmpopups获取input元素值

    6. **API文档**:了解 jmpopups 的API是学习如何使用它的关键,这可能包括初始化函数、创建弹窗的方法,以及获取元素值的特定方法。 7. **错误处理**:在实际应用中,处理用户未填写或无效输入的情况也很重要,这...

    js 常用的webapi

    可以使用 `document.getElementById()` 方法来通过 ID 获取元素,例如: `let btn = document.getElementById('myButton');` 通过类名获取元素 可以使用 `document.getElementsByClassName()` 方法来通过类名获取...

    浅谈JS获取元素的N种方法及其动静态讨论

    本文将深入探讨几种常用的JS获取元素的方法及其在动态和静态环境中的应用。 首先,`getElementById()`是获取元素的最常见方式之一。这个方法通过指定的ID来查找元素,返回的是匹配的首个Element对象。如果文档中...

    JavaScript获取HTML DOM节点元素的方法的总结

    在使用诸如Prototype和Mootools这样的JavaScript库时,这些库通常提供了一个简化的函数如`$(id)`,其内部调用的就是`document.getElementById()`,但提供了更简洁的语法和更强的跨浏览器兼容性。 #### 2. `document...

    原生javascript实现获取指定元素下所有后代元素的方法

    在原生JavaScript中,`getElementsByTagName()` 方法是最常用的用于获取元素后代的方法之一。该方法属于`Element`对象,可以用来获取当前元素及其后代中所有匹配指定标签名的元素。该方法返回一个包含所有匹配标签名...

    文档对象模型,对元素的各种操作

    - `getElementById`: 通过元素的ID获取元素,如`document.getElementById("myElement")`。 - `getElementsByClassName`: 通过类名获取元素集合,如`document.getElementsByClassName("myClass")`。 - `...

Global site tag (gtag.js) - Google Analytics