元素未使用getElementById分配给变量,但使用querySelector

时间:2017-04-15 15:13:43

标签: javascript getelementbyid

我的问题是,当我第一次尝试使用getElementById将元素分配给变量时,它最终未定义。当我使用querySelevtor时,它完美地工作,但我不知道为什么。非常感谢解释或纠正。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Mesh : MonoBehaviour
{
    public int resX = 2; // 2 minimum
    public int resZ = 2;
    public float length = 1f;
    public float width = 1f;

    private MeshFilter meshf;
    private UnityEngine.Mesh mesh;
    private Vector3[] vertices;

    private int v1;
    private int v2;

    private void Start()
    {
        GenerateMesh(); 
    }

    private void GenerateMesh()
    {
        meshf = GetComponent<MeshFilter>();
        mesh = new UnityEngine.Mesh();
        meshf.mesh = mesh;
        mesh.Clear();
    }
}

1 个答案:

答案 0 :(得分:1)

似乎工作正常,请注意我必须更改的一件事是使用querySelector的avsnittEl和使用getElementById的avsnittEL。我在这里特别谈到的是大写E小写l和大写E大写L.我相信这是你的问题。

&#13;
&#13;
"use strict"
const avsnittEL = document.getElementById('avsnitt')
//const avsnittEl = document.querySelector("#avsnitt")
avsnittEL.addEventListener('click', nytekst)

function nytekst() {
  avsnittEL.innerHTML = 'Success!'
}
&#13;
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title></title>
  <meta charset="utf-8">
  <style>
    body {
      font-family: " Century Gothic ", Arial, sans-serif;
      font-size: 14px;
    }
    
    p {
      background-color: #f05a3f;
      padding: 20px;
    }
    
    p:hover {
      cursor: pointer;
    }
  </style>
</head>

<body>
  <p id="avsnitt"> Press me! Please! </p>

</body>

</html>
&#13;
&#13;
&#13;

我遗漏了一个关键部分,即getElementByIdquerySelector之间的实际解释。 getElementById可用于使用分配的Id从文档对象模型(DOM)中提取元素。 querySelector更像是一个广泛的工具,可用于从DOM中选择许多不同类型的元素。例如,querySelector可用于通过Id获取元素,因为您已经看过,但它可以用于按类抓取元素。 querySelector将获取满足查询的第一个元素,而不是querySelectorAll,它将获取所有这些元素。

我希望这有帮助!