JavaScript DOM на IE - PullRequest
       5

JavaScript DOM на IE

0 голосов
/ 23 августа 2011

Я хочу сделать функцию JS, которая переключает видимость / скрытие.

var foo = function(n){      
    var hidden_elements = document.getElementsByName('hidden');     
    for(var i=0;i<hidden_elements.length;i++){
        hidden_elements[i].style.visibility = 'hidden';
    }       
    hidden_elements[n].style.visibility = 'visible';
};

Она работает в Firefox и Chrome, но не в IE.Зачем?Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 23 августа 2011

Я бы порекомендовал избавить себя от ужаса и пойти дальше:

Библиотеки многое делают для сглаживания неожиданностей разных браузеров. Если вы супермалистичны, вы всегда можете проверить источник , как они справляются с различиями. Также обратите внимание на список совместимости quirksmode .

Я знаю, что не дал четкого ответа, но вы будете сталкиваться с этими неприятностями все время, и это несколько хороших инструментов для их решения.

0 голосов
/ 23 августа 2011

Ваш HTML-код недействителен. свойство "name" должно быть уникальным. Вместо этого используйте "class".

Internet Explorer может вызывать некоторые проблемы, поэтому можно использовать поли-заполнения DOM, такие как flowjs.

0 голосов
/ 23 августа 2011

IE до IE8 не соответствует спецификациям W3C. У Microsoft свои стандарты. Многие методы сценариев, которые работают в Firefox или Chrome (которые являются стандартами W3C), могут не работать должным образом в различных сборках IE.

Почему бы вам не попробовать что-нибудь с нуля? Либо так, либо немного облегчите доступ. Вы можете сделать это, создав шаблон для идентификаторов и динамически создавая эти идентификаторы (может быть инкрементным). Затем получите доступ к этим тегам по их идентификатору.

Доступ по имени не является предпочтительным. Идентификатор является наиболее подходящим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...