Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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 按ID更改标记背景颜色_Javascript_Web - Fatal编程技术网

Javascript 按ID更改标记背景颜色

Javascript 按ID更改标记背景颜色,javascript,web,Javascript,Web,HTML是这样的: <div class="header"> <ul> <li> <a class="abc" id="abc" href="www.testing.com">testing</a> </li> </ul> </div> <script language="javascript" type="text/javascript"> var

HTML是这样的:

     <div class="header">
<ul>
  <li>
     <a class="abc" id="abc" href="www.testing.com">testing</a>
  </li>
</ul>
</div>
    <script language="javascript" type="text/javascript">
var links = document.getElementById("abc");
var a = links.getElementsByTagName("a");
var thisLocationHref = window.location.href;
for(var i=0;i<a.length;i++)
{

  var tempLink = a[i];      

  if(thisLocationHref === tempLink.href)
  {
      tempLink.style.backgroundColor="red";
  }
  else
  {
      tempLink.style.backgroundColor="blue";
  }
}
我的javascript是这样的:

     <div class="header">
<ul>
  <li>
     <a class="abc" id="abc" href="www.testing.com">testing</a>
  </li>
</ul>
</div>
    <script language="javascript" type="text/javascript">
var links = document.getElementById("abc");
var a = links.getElementsByTagName("a");
var thisLocationHref = window.location.href;
for(var i=0;i<a.length;i++)
{

  var tempLink = a[i];      

  if(thisLocationHref === tempLink.href)
  {
      tempLink.style.backgroundColor="red";
  }
  else
  {
      tempLink.style.backgroundColor="blue";
  }
}
我无法删除a标记中的ID,因为它与另一页相关。 我知道代码中有错误,但无法找出错误所在。 欢迎任何帮助! 谢谢

不是style.background,style.backgroundColor:

将id=abc交给ul,并将其从a标签上移除,您的代码就会工作

演示:

来自MDN:

element.getElementsByTagName

返回具有给定标记名的元素列表。子树 在指定的元素下搜索,不包括该元素 本身

因此,您必须搜索ul节点


您的JavaScript不需要任何更改。

我想这只是示例中的一个输入错误,但a-tago中没有href哦,是的。我忘了添加href链接。。。我补充说。谢谢。谢谢你的帮助,但它仍然不起作用。因为类位于a标记中,我认为循环或getElementsByTagName中有问题。我在ul中添加了另一个ID,它就起作用了。谢谢你的帮助。