这是sina同事xiaoniu发现的,如下
<!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".
分享到:
相关推荐
`document.getElementById`只能通过ID获取单个元素,而`document.querySelector`则可以根据更广泛的CSS选择器来获取元素。比如你可以用`document.querySelector('.className')`来获取类选择器匹配的元素,或者使用`...
1. `getElementById()`:这是最直接的方法,用于根据给定的ID获取元素。例如,如果知道单元格ID是"cell1",可以这样写: ```javascript var cell = document.getElementById("cell1"); ``` 这将返回匹配ID的元素...
在“06-作业解答 获取元素方式_web_”这个主题中,我们主要探讨的是WEB前端编程的基础知识,特别是关于如何在网页上获取和操作元素的技术。这是一个适合小白入门的教程,旨在帮助初学者从基础到精通逐步掌握前端...
- `getElementById`: 通过ID获取元素。 - `getElementsByClassName`: 通过类名获取元素集合。 - `getElementsByTagName`: 通过标签名获取元素集合。 - `querySelector`: 获取匹配CSS选择器的第一个元素。 - `...
首先,通过元素ID获取DOM元素是最常见和直接的方法。JavaScript提供了一个名为getElementById的方法,用于返回具有指定ID的元素。这个方法属于document对象,需要通过document对象来调用。需要注意的是,ID区分大小...
<title>3种用tagname和id获取元素的方法 body{ margin:0; } ul{ margin:0; padding:0; list-style:none; } h1{ margin:0; } <div class="box" id="box"> 分类名称 <ul class="box-list" id="box-list"> ...
以上三种方式都可以获取到同一个元素,区别在于它们的方法和返回值类型不同。 在使用这些选择器时,开发者还需要了解与之相关的其他JavaScript库或框架中的方法。比如,jQuery中的 `$(element).find(selector)` ...
6. **API文档**:了解 jmpopups 的API是学习如何使用它的关键,这可能包括初始化函数、创建弹窗的方法,以及获取元素值的特定方法。 7. **错误处理**:在实际应用中,处理用户未填写或无效输入的情况也很重要,这...
例如,`document.getElementById()`用于通过ID获取元素,`document.querySelector()`和`document.querySelectorAll()`则可以根据CSS选择器获取单个或多个元素。 2. **CSS Selectors**:CSS选择器是一种强大的工具,...
1. `document.getElementById(id)`:通过元素的id获取单个元素。 2. `document.getElementsByClassName(class)`:通过类名获取元素集合。 3. `document.getElementsByTagName(tag)`:通过标签名获取元素集合。 4. `...
document.getElementById():通过id获取一个Dom元素 document.getElementsByClassName():通过class名字获取一个或多个Dom元素(伪数组) document.getElementsByTagName():通过标签名字获取一个或多个Dom元素...
标签“源码”可能意味着博客中会深入到具体的源代码层面,解释获取元素的底层原理或提供自定义函数来操作表格。而“工具”标签可能暗示了博客中介绍了某些辅助工具或库,如jQuery,它提供了更简洁的方法来处理DOM...
首先,`getElementById()`是获取特定ID元素的常用方法。通过这个方法,我们可以直接根据元素的ID找到它,并对其进行操作,例如改变其内容、样式或属性。例如,`document.getElementById('myElement').innerHTML = '...
可以使用 `document.getElementById()` 方法来通过 ID 获取元素,例如: `let btn = document.getElementById('myButton');` 通过类名获取元素 可以使用 `document.getElementsByClassName()` 方法来通过类名获取...
本文将深入探讨几种常用的JS获取元素的方法及其在动态和静态环境中的应用。 首先,`getElementById()`是获取元素的最常见方式之一。这个方法通过指定的ID来查找元素,返回的是匹配的首个Element对象。如果文档中...
1. **通过ID获取元素并修改属性** JavaScript提供了多种方式来获取HTML元素,并对其进行修改。其中一种常用的方式是`document.getElementById()`,它可以返回具有指定ID的第一个对象的引用。例如: ```...
1、通过标签获取元素,返回一个数组 var li = document.getElementsByTagName('li');...//id获取元素 3、通过class名字获取页面元素 var list = document.getElementsByClassName('list');//返回一个