- Как удалить из кода атрибуты сценариев и стилей text/javascript или type text/css
- как удалить атрибуты сценариев js или теги css — text/javascript и text/css
- как избавится от лишних атрибутов в коде подключения JS и CSS стилей
- Element.removeAttribute()
- Спецификация
- Found a content problem with this page?
- Как удалить CSS-свойство?
Как удалить из кода атрибуты сценариев и стилей text/javascript или type text/css
Если вы заботитесь о безошибочной работе своего сайта — чистоте кода, то эта статья прямиком для вас!… Как все мы знаем, IT технологии, это вещь динамичная… стремительно развивается: не исключение и наше веб мастеровое дело, в том плане, что нужно поспеть за этакой динамикой, и не погрязнуть в ошибках кода своего ресурса. Нынче статья посвящена ошибкам в коде (если таковые мы наблюдаем) посредством валидатора validator.w3 Как удалить лишние — по современным требованиям валидации — атрибуты text/javascript и text/css из строк в исходном коде? По тексту ниже подробнее… занавес открыт:
как удалить атрибуты сценариев js или теги css — text/javascript и text/css
Чтоб новичкам было понятно о чём идёт речь, посвятим немного времени теории ошибок:
Если открыть любую страницу сайта и заинтересованно посмотреть исходный код CTRL + U то запросто увидим такую картину, если отыщем строки подключения библиотек jquery — ссылку на статью, описывающую правильное подключение библио отыщете чуть ниже.
…теперь, неплохо бы проверить эту же страницу на валидаторе. А?
Как и утверждалось выше, увидим множество ошибок связанных со строками подключения js и css и пр. и пр.
Естественным логичным образом возникает вопрос, как всё этакое дело поправить? Как избавиться от сообщений валидатора, а, соответственно, от ошибок присутствия лишних атрибутов text/javascript или type=text/css в коде!?
Вот как раз из статьи и узнаем:
как избавится от лишних атрибутов в коде подключения JS и CSS стилей
В большинстве случаев, к примеру только, мы используем такое подключение библиотек и пр. (все подобные формы подключения решаются аналогией…)
Как понимаете, мы указываем путь, от которого следует подгружаться (в примере пользуем библиотеки Google)… Замечательно!
…вот только в исходнике — в сгенерированном коде страницы — пропишутся «ошибочные» атрибуты и, соответственно, валидатор укажет при проверке на ошибки!
wp_deregister_script( 'jquery' ); // jquery-core wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'); wp_enqueue_script( 'jquery' );
…так как же избавится от этаких тегов-ошибок?
1 — во многих шаблонах js скрипт прописан в коде, а значит возможно ручками всё это дело зачистить…
2 — совсем иной коленкор автоматическое подключение JS библиотек. Ну или тех скриптов что подключены в ядре Вордпрес.
Ядро WP править не рекомендуется!
Итак: чтобы у нас с вами получилось так, как блестит зелёненьким на скрине ниже, следует добавить предложенный ниже код (фильтр) к себе в файл функций (ну, или куда там вы помещаете всю эту писанину))
Как правильно организовать свой активный файл функций functions.php — описано в этом посте — как разделить на отдельные функциональные части файл functions.php — гораздо дальновиднее группировать код по функционалу… а ещё правильнее — разнести какие-то функции по отдельным файлам — документам
Вот пример кода, по которому вам нужно изменить принцип своего подключения jquery:
add_action( 'wp_enqueue_scripts', 'myatsplugin_enqueue' ); function myatsplugin_enqueue() < // wp_register_script(. здесь ваши задачи сценариев. // wp_enqueue_script(. здесь ваши задачи сценариев. >add_filter('style_loader_tag', 'myatsplugin_remove_type_attr', 10, 2); add_filter('script_loader_tag', 'myatsplugin_remove_type_attr', 10, 2); // my function myatsplugin_remove_type_attr($tag, $handle) < return preg_replace( "/type=['\"]text\/(javascript|css)['\"]/", '', $tag ); >
Если вы «подключались»… так, как описано в предыдущей моей статье (ссыль на которую выше) то — вот подготовленный и совершенно рабочий код:
add_action( 'wp_enqueue_scripts', 'myatsplugin_enqueue' ); function myatsplugin_enqueue() < wp_deregister_script( 'jquery' ); // jquery-core wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'); wp_enqueue_script( 'jquery' ); >add_filter('style_loader_tag', 'myatsplugin_remove_type_attr', 10, 2); add_filter('script_loader_tag', 'myatsplugin_remove_type_attr', 10, 2); // my function myatsplugin_remove_type_attr($tag, $handle) < return preg_replace( "/type=['\"]text\/(javascript|css)['\"]/", '', $tag ); >
Для тех, которые подключали JS jquery как-то иначе, возможно просто-напросто удалить свой прежний вариант (код) и прописать на постоянное место жительства этот.
Рекомендуется именно и только такое подключение…
Плюсы: вы всегда — динамически — будете использовать свежайшую версию jquery в отличие от того, если подгружаетесь из ядра своего шаблона (локально).
Вензеля функций фильтр-кода можно прописать свои, для понту)).
На этом занавес представления опускается…
…на рампы пыль печальная ложится…
. город веб мастеров Михалика.ru © — запросто с WordPress — ATs media squad
Online консультация по настройкам и созданию сайтов на WordPress
…А ещё рекомендую посмотреть коротенькое весёлое и правильное кино:
Михаил ATs — владелец блога запросто с Вордпресс — в сети нтернет давным-давно.
. веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети. — заказы, вопросы. разработка.
Element.removeAttribute()
Вы должны использовать removeAttribute вместо того, чтобы устанавливать значение атрибута в null, используя setAttribute.
Попытка удаления атрибута, которого нет на элементе не вызывает ошибки.
Методы DOM имеют дело с атрибутами элементов:
Не знают пространства имён, наиболее часто используемые методы | Вариант, знающий пространство имён (Уровень DOM 2) | Уровень DOM 1 методы для работы с Attr узлами напрямую (используется редко) | Уровень DOM 2 знает о методах пространства имён для работы с Attr узлами напрямую (используется редко) |
---|---|---|---|
setAttribute (DOM 1) | setAttributeNS (en-US) | setAttributeNode (en-US) | setAttributeNodeNS (en-US) |
getAttribute (DOM 1) | getAttributeNS (en-US) | getAttributeNode (en-US) | getAttributeNodeNS (en-US) |
hasAttribute (DOM 2) | hasAttributeNS (en-US) | — | — |
removeAttribute (DOM 1) | removeAttributeNS (en-US) | removeAttributeNode (en-US) | — |
Спецификация
Found a content problem with this page?
This page was last modified on 7 нояб. 2022 г. by MDN contributors.
Your blueprint for a better internet.
Как удалить CSS-свойство?
Добрый день, нужно удалить CSS свойство, как это можно сделать?
Хочу удалить left: 0; и поставить right: 0;
Как это можно реализовать?
p.s если поставить просто right: 0; то объект читает left и забивает на right.
Егор Рублёв: Встречный вопрос: а зачем? Вы просто сбрасываете свойство на значение по умолчанию и получаете эффект, как будто бы и не устанавливали его.
С любыми свойствами так. Смотрите в доках, какое стоит значение по умолчанию, и ставите его.
Initial — штука интересная, но пока не работает везде.
Сергей: ну мне в принципе нет разницы, а вот лишний код же на выходе будет?
left: auto; = 11 символов, да и не люблю грязь.
Сброс конкретного свойства установленного через element.style.property или через атрибут style в html:
element.style.property = void 0; //void 0 - это оператор возвращающий безопасный undefined
А вообще лучше не устанавливать свойства через атрибут style или через element.style (что равносильно), манипулируйте классами