javascript - 通过ID更改标签背景颜色

标签 javascript web

HTML 是这样的:

     <div class="header">
<ul>
  <li>
     <a class="abc" id="abc" href="www.testing.com">testing</a>
  </li>
</ul>
</div>

我的 JavaScript 是这样的:

    <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,因为它与另一个页面相关。 我知道代码中有问题,但无法找出问题所在。 欢迎任何帮助! 谢谢!

最佳答案

id="abc" 赋予 ul 并将其从 a 标记中删除,您的代码即可运行。

演示: http://jsfiddle.net/BgbjD/

来自 MDN:

element.getElementsByTagName

Returns a list of elements with the given tag name. The subtree underneath the specified element is searched, excluding the element itself.

所以你必须搜索ul节点。

<div class="header">
    <ul id="abc">
        <li> <a class="abc">testing</a>
        </li>
    </ul>
</div>

您的 JavaScript 不需要任何更改。

关于javascript - 通过ID更改标签背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16452229/

相关文章:

javascript - 需要帮助使用带有嵌套元素的 .not() 选择器

javascript - jQuery after() 不适用于动态创建的节点

javascript - 如何在代码中使用我的函数的参数?

html - 行内 block 不按预期行事

javascript - 我可以创建一个 HTML 输入字段,当它是 "full"时停止接受字符吗?

javascript - 向上滚动应该显示导航

php - CakePHP 没有数据库(配置文件)的持久数据存储?

python - Django 不在 Internet Explorer 中存储 session cookie

javascript - 如何通过白名单域正则表达式验证电子邮件

c# - 读取包含 Base64-Embedded 格式的所有图像的网页