Чтобы ответить на ваш первый вопрос, я думаю, что проблема связана с неправильным составлением списка. Прямые дети UL должны быть LI, которые должны обернуть все остальное. В вашей разметке привязка происходит перед каждым LI - это может вызывать удушение IE7.
<a name="ctn2363_2465" id="ctn2363_2465" class="hidden"></a>**<--this is suspect, restructure**<li id="button_1"><a class="ohlord" href="javascript: void(0);" id="b1">Bookbag</a></li>
Чтобы ответить на второй вопрос, вы можете сделать это:
$('#slides img').eq(index).attr('style', 'display: block;');
или
$('#slides img:eq(' + index + ')').attr('style', 'display: block;');
или
$('#slides img')[index].style.display = 'block;';
или
$('#slides img').get(index).style.display = 'block;';
Причиной этого является [index]
из вашего примера, который эквивалентен .get(index)
, получает элемент DOM, а не объект jQuery, поэтому .attr()
не работает.
В качестве конечной точки, .show()
может заменить .attr('style', 'display: block;');
, и не забывайте, что вы можете использовать .css()
для получения или установки свойств стиля, например, .css("display", "block");