Javascript 为什么身份证没有改变?
我正试图改变文本的颜色。为此,我使用JavaScrip更改Javascript 为什么身份证没有改变?,javascript,html,css,getelementbyid,Javascript,Html,Css,Getelementbyid,我正试图改变文本的颜色。为此,我使用JavaScrip更改div标记上的id,以便应用不同的CSS规则 home.html <html> <head> <link rel="stylesheet" type="text/css" href="style-original.css" /> <meta charset="utf-8" /> <title>test</title&g
div
标记上的id
,以便应用不同的CSS规则
home.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="style-original.css" />
<meta charset="utf-8" />
<title>test</title>
<script type="text/javascript">
<!--
function change()
{
document.getElementById("part1").className = "part2"
}
//-->
</script>
</head>
<body>
Hello.<br />
<div id="part1">Test test.</div><br />
<input type='button' onclick='change()' value='Form Checker' />
</body>
</html>
单击按钮时颜色不变。有什么问题?问题是正在更改
className
,我应该在哪里更改id
。这是一个巨大的“肥胖”时刻。你有问题。在javascript函数change()中
而不是这条线
document.getElementById("part1").className = "part2"
应该是这样的
document.getElementById("part1").id = "part2"
这是因为您需要更改类名而不是元素的id。
请查看此处的固定代码:
您遇到了一个问题。在javascript函数change()中 而不是这条线
document.getElementById("part1").className = "part2"
应该是这样的
document.getElementById("part1").id = "part2"
这是因为您需要更改类名而不是元素的id。
请查看此处的固定代码:
要使其工作,最简单的工作量是将
change()
函数更改为:
document.getElementById("part1").id = "part2"
但是,您需要跟踪当前id,否则
change()
函数将无法再次找到该元素。要使其正常工作,最简单的工作量是将change()
函数更改为:
document.getElementById("part1").id = "part2"
但是,您需要跟踪当前id,否则
change()
函数将无法再次找到元素。您正在更改的类的特殊性小于id。保留该id比添加类更重要,虽然在您的示例中,您指定了另一个ID而不是类。您正在更改一个没有ID那么特殊的类。保留该ID比添加类更重要,尽管在您的示例中,您指定了另一个ID而不是类。首先,您想要的行为有点不清楚。也就是说,这是我的解释
在我看来,以上这些都不是很好的选择,因为它们没有解决id/类的意图。Id是特定dom元素的唯一标识符。因此,不建议对其进行更改。我建议您将样式更改为引用类而不是ID。然后,您可以使用id(part1和part2)获取每个元素,并为元素指定一个类名(即redText、purpletText),并将所需样式绑定到该类
document.getElementById("part1").className = "redText";
令人困惑的是,你的命名并没有表明你想要完成什么(第1部分到底是什么意思,为什么它是这样命名的)。用这样一种方式来命名事物总是一个好主意,这样别人就可以跟随你的想法 首先,您想要的行为有点不清楚。也就是说,这是我的解释 在我看来,以上这些都不是很好的选择,因为它们没有解决id/类的意图。Id是特定dom元素的唯一标识符。因此,不建议对其进行更改。我建议您将样式更改为引用类而不是ID。然后,您可以使用id(part1和part2)获取每个元素,并为元素指定一个类名(即redText、purpletText),并将所需样式绑定到该类
document.getElementById("part1").className = "redText";
令人困惑的是,你的命名并没有表明你想要完成什么(第1部分到底是什么意思,为什么它是这样命名的)。用这样一种方式来命名事物总是一个好主意,这样别人就可以跟随你的想法 您真的需要更改id吗?我建议您改为更改类(这是您当前在示例中所做的)。这样,您就不需要跟踪当前id,并且仍然可以更改样式
找到一个工作示例。您真的需要更改id吗?我建议您改为更改类(这是您当前在示例中所做的)。这样,您就不需要跟踪当前id,并且仍然可以更改样式
找到一个工作示例。您正在更改类,而不是ID?您意识到您正在设置
类名,而不是ID
,对吗?^==我很确定这是最糟糕的方法。你试图更改“className”而不是“id”@leish我当然希望你指的是一条已经被删除的评论,而不是懒得告诉我“更好的方法”你在更改类,而不是id?你意识到你在设置className
,不是id
,对吗?^==我很确定这是最糟糕的方法。你试图更改“className”而不是“id”@leish我当然希望你指的是一条已被删除的评论,而不是懒得告诉我“更好的方法”,所以唯一的问题是命名?我在测试这个概念,所以我没有名字给他们。你指的是一个更大的问题吗?+1因为你对我答案的理解更详细:)所以唯一的问题是命名?我在测试这个概念,所以我没有名字给他们。你指的是更大的问题吗?+1,因为你对我的回答更详细:)