Javascript "document.getElementById"通配符循环?

标签 javascript html css vb.net loops

Javascript“document.getElementById”行可以使用通配符吗?

我有一个包含 3 个 div 元素(“page1、page2、page3”)的 Vb.net 表单。我希望完成的是允许用户单击将导航到下一个 div(“page#”)的按钮或超链接按钮。有没有一种方法可以在不进行硬编码的情况下执行类似以下操作并循环遍历具有“page1”、“page2”、“page3”等 ID 的每个元素?

function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'none')
e.style.display = 'block';
else
e.style.display = 'none';

最佳答案

据我了解,您正在寻找 querySelectorAll 函数和 for-in 循环:

var elements = document.querySelectorAll("[id^='page']");
for(var e in elements){
   // do Stuff - each element get's reached by elements[e]
}

例如:

var elements = document.querySelectorAll("[id^='page']");
for(var e in elements){
   if(elements[e].style.display == 'none')
        elements[e].style.display = 'block';
    else
        elements[e].style.display = 'none';
}

这将捕获所有 id 以单词“page”开头的元素并切换它们的可见性

关于Javascript "document.getElementById"通配符循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26997412/

相关文章:

javascript - JavaScript 中 ASP 标签的值

javascript - 有什么方法可以在按下某个键时检测到碰撞?

javascript - 在 div 之外的元素部分的不透明度较低

javascript - 如何在 javascript 中将背景图片正确设置为弹出窗口?

javascript - 尝试在对象 Javascript 中创建嵌套数组

javascript - 如何根据下拉列表中的值和用户输入更新工资

javascript - WebGL:获取事件纹理

html - 水平分布没有左边距或右边距

html - 如何将段落文本与中间的图像对齐

javascript - Puppeteer:无法点击输入[type=radio]