[英]Passing class name into function parameter
Im working with this part of code:我正在处理这部分代码:
<div class="tabs-buttons-container">
<button class="tabs-button" onclick="openTabs(event, 'test11', 'red')">Tab 1</button>
<button class="tabs-button" onclick="openTabs(event, 'test12')">Tab 2</button>
<button class="tabs-button" onclick="openTabs(event, 'test13')">Tab 3</button>
<span class="test"></span>
<span class="red"></span>
<span class="white"></span>
</div>
const openTabs = (event, tab, test) => {
let i, tabContent, tabButton;
tabContent = document.getElementsByClassName("tabs-content")
for (i = 0; i < tabContent.length; i++) {
tabContent[i].style.display = "none";
}
document.getElementById(tab).style.display = "block";
document.getElementsByClassName(test).style.display = "block";
}
My current goal is to pass class "red" into function and change the display of span element.我目前的目标是将类“红色”传递给函数并更改 span 元素的显示。 When im using ID it works fine but when i want to pass class the result is null.当我使用 ID 时它工作正常但是当我想传递类时结果为空。 Is this possible to dynamically pass class name inside JS function?这是否可以在 JS 函数中动态传递类名?
getElementsByClassName
return a collection, so you need to go through each element to assign the style. getElementsByClassName
返回一个集合,因此您需要遍历每个元素来分配样式。 You can also use querySelector("." + className)
which return only the first matched element.您还可以使用querySelector("." + className)
只返回第一个匹配的元素。
var red = document.getElementByClassName('red')[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.