使用纯JavaScript(而不是jQuery),有没有一种方法可以测试一个元素是否包含一个类?
目前,我这样做:
HTML:
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
  case "class1":
    test.innerHTML = "I have class1";
    break;
  case "class2":
    test.innerHTML = "I have class2";
    break;
  case "class3":
    test.innerHTML = "I have class3";
    break;
  case "class4":
    test.innerHTML = "I have class4";
    break;
  default:
    test.innerHTML = "";
}JS:
<div id="test" class="class1"></div>这导致此输出,这是正确的:
<div id="test" class="class1 class5"></div>
问题是,如果我将HTML更改为此...
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
  case "class1":
    test.innerHTML = "I have …如何获得元素的渲染高度?
假设你有一个<div>含有一些内容的元素.里面的这个内容将延伸到高度<div>.如果没有明确设置高度,如何获得"渲染"高度.显然,我试过:  
var h = document.getElementById('someDiv').style.height;
这样做有诀窍吗?如果有帮助我正在使用jQuery.
我正在尝试遍历页面上的所有元素,所以我想检查此页面上存在的每个元素是否有特殊类.
那么,我怎么说我想检查每个元素?
我正在编写Chrome内容脚本扩展程序,我需要能够定位一个特定元素,遗憾的是,除了其父元素之外,它没有唯一标识符.
我需要定位直接的第一个子元素parentElement.console.log(parentElement)完美地报告两个子元素/节点,但是后续的控制台日志(以childNodes为目标的日志)总是返回一个undefined值,无论我做什么.
到目前为止这是我的代码
(我已经排除了实际名称以避免混淆和额外的,不必要的解释)
function injectCode() {
    var parentElement = document.getElementsByClassName("uniqueClassName");
    if (parentElement && parentElement.innerHTML != "") {
        console.log(parentElement);
        console.log(parentElement.firstElementChild);
        console.log(parentElement.firstChild);
        console.log(parentElement.childNodes);
        console.log(parentElement.childNodes[0]);
        console.log(parentElement.childNodes[1]);
    } else {
        setTimeout(injectCode, 250);
    }   
}
如何选择第一个子元素/节点parentElement?

更新:
parentElement.children[0]也有同样的错误parentElement.childNodes[0].