Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript设置HTML中ID的值_Javascript_Html - Fatal编程技术网

Javascript设置HTML中ID的值

Javascript设置HTML中ID的值,javascript,html,Javascript,Html,允许您动态设置HTML元素的ID吗?例如,作为一个简单的示例,我可以: <a href="#" id="onOrOff()">Jazz</a> 我试过了,但它不起作用,所以我只想检查一下我是否遗漏了其他要点 谢谢。是的,但不是那样的。您需要其他方式来访问它,例如: var a = document.getElementsByTagName('a')[0]; 然后: 更新:为此解决方案创建了一个JSFIDLE:请随意尝试 假设您的CSS引用了#coolLink(和/或#

允许您动态设置HTML元素的ID吗?例如,作为一个简单的示例,我可以:

<a href="#" id="onOrOff()">Jazz</a>
我试过了,但它不起作用,所以我只想检查一下我是否遗漏了其他要点


谢谢。

是的,但不是那样的。您需要其他方式来访问它,例如:

var a = document.getElementsByTagName('a')[0];
然后:


更新:为此解决方案创建了一个JSFIDLE:请随意尝试

假设您的CSS引用了#coolLink(和/或#uncoolLink),您可以尝试以下方法:

<a href="#" id="uncoolLink" onclick="makeCool()">Jazz</a>

要动态启用coolLink id格式,您可以尝试使用以下功能:

<script>
function makeCool() {
  var element = document.getElementById("uncoolLink");
  element.id ="coolLink";
}
</script>

函数makeCool(){
var元素=document.getElementById(“uncollink”);
element.id=“coolLink”;
}
请参阅此处的更多信息:

但是,我强烈建议保持id不变,只需更改类(并相应地调整css)


更进一步说,我建议使用jQuery,因为这将打开一个可能性的世界,改变你处理事情的方式,让生活变得更加轻松,并保护你免受浏览器不兼容的影响。

你可以,但这不是实现的方法。你应该解释你想在什么阶段动态设置它,可能还有你为什么要这么做。您可以在运行时更改对象的大多数属性,但首先需要能够获得该对象的句柄。下面的答案适用于页面上的第一个“A”标记,它可能适用于您,也可能不适用于您。正确。我自己的答案并没有这个问题,因为我对A元素使用了和id,然后展示了如何更改它。然而,我将在这里再次强调,我认为提供ID是一种很好的做法,永远不要更改ID,而是更改css类以达到预期的效果。即使这意味着稍微更改现有CSS样式表(例如#coolLink->.coolLink),但在大多数情况下,这是一个更好的解决方案。好的-很高兴知道,但我不确定如何实现上述功能。我的函数onorof()在决定使用哪个ID之前做了一些“工作”?您可以这样做。重要的是要分配给元素的“id”属性。如果你有一个包含多个链接的页面,那么通过getElementsByTagName[如果没有添加到SePage,则可能会更改的某些索引]来查找a元素是完全不切实际的!!!尽管如此,你的答案还是值得对a.id=“myDynamicID”部分投上一票:-)嗨,Miltiadis-谢谢你在这方面的帮助(顺便说一句,JSFIDLE网站太棒了!)。然而,我不认为这种方法解决了我的问题。我将准确地描述我想要实现的目标。我有一些标签,当一个标签被按下(打开)时,它应该是一种css样式,当它再次被按下(关闭)时,它应该是另一种样式。这些样式也需要被带到其他页面。例如,我有一个选定标签的数组,所以当下一页打开时,该数组中的任何内容都应该具有“On”css样式。实际上,不用担心,我已经找到了答案。最后,我使用了document.getElementById,以及一些函数和CSS-学到了很多:-)干杯。
<a href="#" id="uncoolLink" onclick="makeCool()">Jazz</a>
<script>
function makeCool() {
  var element = document.getElementById("uncoolLink");
  element.id ="coolLink";
}
</script>