javascript - 通过 Javascript 创建手风琴
问题描述
我正在使用 Javascript,没有 jQuery。
到目前为止,我已经在手风琴标题面板上这样做了:
var accordion = document.createElement('div');
accordion.className = 'panel-group';
accordion.id = 'accordion';
document.getElementById('navgroupsframe').appendChild(accordion);
var panel = document.createElement('div');
panel.className = 'panel';
panel.style.marginLeft = '-15px';
accordion.appendChild(panel);
var panelheading = document.createElement('div');
panelheading.className = 'panel-heading';
panel.appendChild(panelheading);
var paneltitle = document.createElement('div');
paneltitle.className = 'vgroupholder panel-title'
但是,我想到达这里:
<div class="panel-group" id="accordion">
<div class="panel" style="margin-left: -15px;">
<div class="panel-heading">
<div class="vgroupholder panel-title" data-parent="#accordion" data-toggle="collapse" href="#title1" onclick="removevBgs();">
我该怎么做呢?(添加data-parent
等,仅使用 Javascript,不使用 jQuery)。
谢谢。
解决方案
您可能会考虑创建父元素,然后将所有其余元素注入一个很好的旧元素,innerHTML
因为您没有使用 JQuery :)
var accordion = document.createElement('div');
accordion.className = 'panel-group';
accordion.id = 'accordion';
accordion.innerHTML = `<div class="panel" style="margin-left: -15px;">
<div class="panel-heading">
<div class="vgroupholder panel-title" data-parent="#accordion" data-toggle="collapse" href="#title1" onclick="removevBgs();"></div>
</div>
</div>`;
document.getElementById('navgroupsframe').appendChild(accordion);
推荐阅读
- c# - 如何在一个信封中包含多个模板?
- c# - 如何从 C# 控制器重定向到 URL(带有自定义标头)
- swift - 有没有办法为结构定义协议属性,具体取决于它在哪个平台上使用?
- scala - 如何在 Scala 中使用 Future 进行轮询?
- android-recyclerview - 如何在 RecyclerView 上显示来自 OnClick 的 DialogFragment?
- react-native - 为什么我的反应导航按钮不起作用?
- php - DUO Web 认证后如何发布到 URL?
- guidewire - 你可以在guidewire中使用java脚本吗?
- angular - 变化检测不适用于角度元素 + NgRx
- swift - 按字段的不同值对 Realm 对象进行分组