Да, вопрос задан так много раз, но этот вопрос немного конкретнее. Мне нужен код JavaScript, который отображает/скрывает все элементы определенного class
. Код должен быть совместим с более старыми браузерами и Internet Explorer, и он должен иметь чрезвычайно малую площадь. Поэтому, пожалуйста, не отправляйте решения jQuery, так как эта задача будет использовать 0,01% кода из библиотеки. До сих пор я придумал это:Как скрыть несколько элементов с помощью javascript
var flip = document.getElementsByTagName(_tag);
if (trigger)
for (var i = 0; i < flip.length; i++)
if (flip[i].className == _class) flip[i].style.visibility = 'visible';
else
for (var i = 0; i < flip.length; i++)
if (flip[i].className == _class) flip[i].style.visibility = 'hidden';
Поскольку getElementsByclassName
не работает в IE, и большинство общих решений слишком громоздким для меня. Является ли этот код оптимальным для задачи или может быть оптимизирован еще больше? (как ссылка, в предыдущем решении использовалось cgi
, чтобы добавить <style>.myclass {visibility:visible}</class>
на страницу)
вы можете использовать '.className' свойство, чтобы получить имя всех классов и использовать' css.display = 'None' OR css.display = '' 'для скрытия/показа или вы CAN использовать document.querySelectorAll ('. Myclass'). – prog1011
Почему ваши фигурные скобки ('{', '}') отсутствуют? –
@Prog: можете ли вы быть более конкретным относительно css.dsiplay, я этого не понял? @ chipChocolate.py: потому что это однострочный, если триггер, а затем цикл, цикл делает одно, если это делает одну команду @Tyr: нет внутреннего цикла - это тот же код под 'if' и' else' единственным разница в видимости. – Ulrik