正确地声明一个变量

时间:2018-04-06 16:23:23

标签: javascript html

我不知道如何在javascript中声明变量。我有一个示例情况,如果段落等于a,则会弹出警报。

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<p id="sample">a</p>
</body>
</html>

<script type="text/javascript">
    var sample = getElementById('sample');

    if (sample == "a") {
        alert("Correct")
    };
</script>

3 个答案:

答案 0 :(得分:2)

你声明你的变量很好,但是如果你想要元素中的文本,你还需要使用innerHTML属性。当您使用getElementById方法时,您需要在文档对象上使用它,如document.getElementById

var sample = document.getElementById('sample');

if (sample.innerHTML == "a") {
  alert("Correct")
};
<p id="sample">a</p>

答案 1 :(得分:0)

您的声明没有问题,但分配部分缺少document作为具有 .getElementById 方法的对象。然后,一旦您获得了元素的引用,您就需要使用 .textContent 访问其内容(您无法将整个元素与元素可能包含的值进行比较)。作为旁注,当您希望设置/获取的字符串不包含任何HTML时,您应该使用.textContent,以便浏览器不会不必要地解析HTML的字符串。通常,人们会建议使用 .innerHTML 来获取/设置元素的内容,虽然这样可行,但如果字符串不包含任何HTML,则会浪费。

此外, <script> 必须位于headbody内,而不在其中。我建议将它放在关闭body标记之前,以便在处理到达script时,所有HTML元素都已解析到内存中并可用。

最后(这实际上只是一个侧面点),HTML页面还需要title元素才能包含其中的内容,否则它将无效。虽然浏览器实际上并不进行HTML验证,但争取有效的HTML非常重要,这样才能确保您的网页在所有设备上都能保持一致。您可以通过以下网址验证您的HTML:http://validator.w3.org

<!DOCTYPE html>
<html>
<head>
    <title>Something Here</title>
</head>
<body>
<p id="sample">a</p>
<script type="text/javascript">
    var sample = document.getElementById('sample');

    if (sample.textContent == "a") {
        alert("Correct")
    };
</script>
</body>
</html>

答案 2 :(得分:0)

sample是一个变量,你是正确的,但它存储了一个带有id样本的DOM元素的引用。获取你需要的内部html

var sample = getElementById('sample').innerHTML;

此外,使用===而不是==进行投票等。请参阅here

我建议您快速查看w3schools中的JS,然后转到MDN。如果你展示你的努力,没有人会在这里报告你,所以放松:)。