I'm writing a logging function for automation unit test.
html elements structure:
<li>
<strong>
<ol>
<li>
<strong>
<ol>
I want to make it when I click on the <strong>
, the <ol>
which under same <li>
be toggle.
code:
for(var i = 0, l = logSuites.length; i < l; i++) {
var suite = logSuites[i];
$("#tests").append('<li><strong>....</strong></li>');
var suiteSl = $('#tests > li:nth-child(' + (i + 1) + ')');
var caseli = "<li>...</li>...";
...
suiteSl.append('<ol style="display:none">' + caseli + '</ol>');
var caseLiSl = suiteSl.children('ol');
var toggleCases = function() {
caseLiSl.toggle();
};
suiteSl.children('strong').bind('click', toggleCases);
}
the problem is everytime the event being triggered, the last <ol>
be toggled.. The variable caseLiSl
in function toggleCases
is always the last time it settled in the for
loop