简单JavaScript手风琴-如何获得点击面板的索引?
我用简单的JavaScript创建了一个简单的手风琴,没有jQuery。它是由JSON格式的外部JavaScript文件中给定的数据数量动态创建的 手风琴与html代码中的类似:简单JavaScript手风琴-如何获得点击面板的索引?,javascript,jquery,html,Javascript,Jquery,Html,我用简单的JavaScript创建了一个简单的手风琴,没有jQuery。它是由JSON格式的外部JavaScript文件中给定的数据数量动态创建的 手风琴与html代码中的类似: <div id="description"> <script language="javascript" type="text/javascript"> startAccordion(); function startAccordion() { for (var i=1; i<
<div id="description">
<script language="javascript" type="text/javascript">
startAccordion();
function startAccordion()
{
for (var i=1; i<=Object.keys(description).length; i++){
document.getElementById("description").innerHTML +=
"<button class='accordion'>Trail " + description[i].Title + "</button>" + "<div class='accordion-panel'>" + "<p>" + description[i].Description + "<br></p>" + "</div>";
}
}
</script>
startacordion();
函数startacordion()
{
for(var i=1;i遵循Mohamed Abbas提供的链接,这是它的工作方式。这是一个范围问题,在for循环中创建了一个新的范围:
var acc = document.getElementsByClassName('accordion');
for (var i = 0, i < acc.length; i++)
{
(function(index){
acc[i].onclick = function(){
//same as within the function given in the original post
alert(index) ;
}
})(i);
}
var acc=document.getElementsByClassName('accordion');
对于(变量i=0,i
检查这一点:jQuery中的任何东西都可以在Javascript中实现,毕竟jQuery是用JS编写的,在许多现代浏览器中,有许多有用的新功能类似于jQuery。非常感谢@Mohamed Abbas-链接问题上发布的解决方案解决了我的问题!
var acc = document.getElementsByClassName('accordion');
for (var i = 0, i < acc.length; i++)
{
(function(index){
acc[i].onclick = function(){
//same as within the function given in the original post
alert(index) ;
}
})(i);
}