Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.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 如何在没有jquery的情况下,将函数仅应用于一个特定div或类中的a标记_Javascript_Css_Html - Fatal编程技术网

Javascript 如何在没有jquery的情况下,将函数仅应用于一个特定div或类中的a标记

Javascript 如何在没有jquery的情况下,将函数仅应用于一个特定div或类中的a标记,javascript,css,html,Javascript,Css,Html,我在一个页面上有几个菜单,希望用户在每个菜单中单击的链接改变颜色并保持该颜色,直到用户单击该菜单中的另一个链接。我有以下代码: JavaScript function bookswitchColor(element, color) { links = document.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) links.item(i).style.color = 'r

我在一个页面上有几个菜单,希望用户在每个菜单中单击的链接改变颜色并保持该颜色,直到用户单击该菜单中的另一个链接。我有以下代码:

JavaScript

function bookswitchColor(element, color) {
    links = document.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++)
        links.item(i).style.color = 'red';
    element.style.color = "#0E00EB";

}
函数颜色(元素,颜色){
links=document.getElementsByTagName(“a”);
对于(变量i=0;i
HTML

<div id="book" class="book">
    <ul>
        <li><a href="javascript:TheMenu()" onclick="bookswitchColor(this) ;">Menu</a>
        </li>
        <li><a href="javascript:book1()" onclick="bookswitchColor(this) ;">Book1</a>
        </li>
        <li><a href="javascript:book2()" onclick="bookswitchColor(this) ;">book2</a>
        </li>
    </ul>
</div>

除了更改整个页面上的a标记外,它还可以正常工作。此页面显示一个图书库。当用户单击其中一本书时,我需要该书保持高亮显示(颜色更改)。单击一本书将调用该书的章节列表,用户单击该列表可阅读该章节。我需要在不影响其他菜单的情况下保持突出显示(颜色更改)章节


我希望避免使用jQuery。

您可以从任何元素节点使用
.getElementsByTagName()

  var links = document.getElementById('book').getElementsByTagName('a');
只要换掉这条线

links=document.getElementsByTagName("a") ;
关于这一点:

var links = document.getElementById("book").getElementsByTagName("a");

我不明白为什么不使用jQuery:$('.book a')。单击(function(){$(this.css('color','#0E00Eb'))@Justinas这个用户显然根本不想使用jQuery。@我明白这一点,但有时他们不想使用它,因为他们不知道如何使用。@Justinas但有时,像这样,将jQuery用于单一目的只会降低性能。总是问自己