Я подозреваю, что у вас возникнут проблемы с использованием одного и того же значения для name
для a
элемента и id
для div
. Предложите добавить что-то к имени при определении id
для div
, например ::
$("#div-"+divname).slideDown("slow");
(И, конечно, соответственно изменить HTML.)
Это потому, что IE имеет проблемы с совмещением пространств имен и имеет тенденцию сбрасывать name
s с id
s. Например, попробуйте этот пример в Chrome или Firefox против IE:
HTML:
<a name='foo'>This is the foo anchor</a>
<div id='foo'>This is the foo element</div>
<a name='bar'>This is the bar anchor</a>
JavaScript:
var foo = document.getElementById('foo'),
bar = document.getElementById('bar');
display("foo.tagName = " + foo.tagName);
display("bar.tagName = " + (bar ? bar.tagName : "(none)"));
Правильный вывод:
foo.tagName = DIV
bar.tagName = (none)
(«объект», о котором идет речь в bar
, равен null
.)
Вывод IE6 и IE7:
foo.tagName = A
bar.tagName = A
document.getElementById
должен игнорировать a
с name
на них, но не на IE6 или IE7, и поэтому IE выбирает привязку вместо div
.