Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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获取ElementsByclassName?_Javascript_Dom_Javascript Events - Fatal编程技术网

Javascript 如何使用元素ID获取ElementsByclassName?

Javascript 如何使用元素ID获取ElementsByclassName?,javascript,dom,javascript-events,Javascript,Dom,Javascript Events,我有一个脚本,它将跨多个帧查找delementbyid,并将高亮显示/更改文本颜色。该脚本的工作原理是,当您将鼠标移到“快速棕色狐狸”的每个单词上时,指针下的单词将为红色,并以黄色突出显示。第2帧中的同一单词也将为红色/高亮显示。请注意,元素ID与类名相同 测试 功能(id) {document.getElementById(id).style.color=“红色”; document.getElementById(id).style.backgroundColor=“黄色”; window.p

我有一个脚本,它将跨多个帧查找delementbyid,并将高亮显示/更改文本颜色。该脚本的工作原理是,当您将鼠标移到“快速棕色狐狸”的每个单词上时,指针下的单词将为红色,并以黄色突出显示。第2帧中的同一单词也将为红色/高亮显示。请注意,元素ID与类名相同

测试
功能(id)
{document.getElementById(id).style.color=“红色”;
document.getElementById(id).style.backgroundColor=“黄色”;
window.parent.frames[“frame2”].document.getElementById(id).style.color=“红色”;
window.parent.frames[“frame2”].document.getElementById(id).style.backgroundColor=“yellow”;}
功能(id)
{document.getElementById(id).style.color=“black”;
document.getElementById(id).style.backgroundColor=“白色”;
window.parent.frames[“frame2”].document.getElementById(id).style.color=“black”;
window.parent.frames[“frame2”].document.getElementById(id).style.backgroundColor=“white”;}
这个
快的
棕色的
狐狸

现在我想编辑这个脚本,以便它接受id并按类查找元素。例如,当您将鼠标悬停在“fox”上时,id=“w4”。我想在链接的类中找到“w4”,这样无论何时鼠标移到“the”和“fox”上,“the”和“fox”都将是红色/高亮显示的。我不知道如何使用id中的值来使用getElementsByClassName。有什么想法吗?

getElementsByClassName返回一个数组,您必须对其进行循环。请尝试下面的代码

var elements = document.getElementsByClassName(id);

for(var i=0; i<elements.length; i++)
    elements[i].style.color = "red";
var elements=document.getElementsByClassName(id);

对于(var i=0;我必须将类名作为参数传递:
getElementsByClassName(id)
。更多信息:。顺便说一句,您可以直接将元素传递给事件处理程序,而不是再次搜索它。
getElementsByClassName()
不返回数组,它返回一个。哦,我键入了“i>元素”,而不是"i@jcoat事实上,这是我的错,我第一次输入错别字是“>”,然后我更新了代码。
var elements = document.getElementsByClassName(id);

for(var i=0; i<elements.length; i++)
    elements[i].style.color = "red";