我不知道如何在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>
答案 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>
必须位于head
或body
内,而不在其中。我建议将它放在关闭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)