简体   繁体   English

document.querySelector问题

[英]document.querySelector issues

In the following code, why is document.querySelector() returning null? 在以下代码中,为什么document.querySelector()返回null?

var element = document.createElement('div');
element.classList.add('abc');
var test = document.querySelector("." + element.className);

You need to add a . 您需要添加一个.

var test = document.querySelector("."+element.className);

EDIT 编辑

You also need to add it to body 您还需要将其添加到正文

document.body.appendChild(element); 

See http://codepen.io/jammer99/pen/dMmXYL 参见http://codepen.io/jammer99/pen/dMmXYL

  1. The div is not part of the DOM until you append it to a DOM element. 除非将div附加到DOM元素,否则它不属于DOM。
  2. You need to add a dot in front to use the querySelector on a class string: document.querySelector("."+element.className) 您需要在前面添加一个点以在类字符串上使用querySelector: document.querySelector("."+element.className)
  3. The DOM element you append your div to has to exist before you can access it. 您将div附加到的DOM元素必须存在才能访问。

 window.onload=function() { // body exists var element = document.createElement('div'); element.classList.add('abc'); var test = document.querySelector("."+element.className); console.log(test,element.className); document.body.appendChild(element); // NOW the DIV exists in DOM test = document.querySelector("."+element.className); console.log(test); } 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM