Я шел вокруг в кругах в течение последних трех часов, пытаясь исправить это, очень странно ...HTML: Unordered Список не упорядочен правильно
У меня есть неупорядоченный список, который динамически генерируется как так:
var numberOfSlides = 7;
for (i = 0; i < numberOfSlides; i++) {
main.menu.append("<li class='ui-state-disabled'>List item " + i + "</a></li>");
}
Это правильно делает (все отключено):
List item 0
List item 1
List item 2
List item 3
List item 4
List item 5
List item 6
Позже в коде вызова функции, которая должна активировать указанный элемент:
enableMenuItem(2);
enableMenuItem: function(slideNumber){
console.log("slideNumber: " + slideNumber); // log outputs "slideNumber: 2"
$("ul li").eq(slideNumber).removeClass('ui-state-disabled'); // this doesn't work
}
Он отлично работает для других значений, но не 2, и я обнаружил, что если я называю EnableMenuItem (5), 2 затем активируется.
Странная вещь, если я делаю это ...
$("ul li").eq(2).removeClass('ui-state-disabled');
... это работает.
Но это не ...
if(slideNumber === 2){
console.log("slideNumber equals 2"); // logs "slideNumber equals 2", so the below line should execute
$("ul li").eq(2).removeClass('ui-state-disabled'); // doesn't work
}
ли я схожу с ума, или это очень странно?
Вы пытались использовать функцию enableMenuItem (slideNumber) {... ' – rybo111
Может быть,' main.menu.find ("> li"). Eq (slideNumber) '? Я не знаю, что такое 'main.menu' в вашем коде, так как это не переменная. – Kaloyan
Было бы здорово, если бы вы опубликовали воспроизводимый пример в JSFiddle, чтобы мы могли протестировать его в нашем браузере. –