Проще ли изменить атрибуты в куче img-тегов в jQuery, чем в PHP?

#php #jquery #regex

#php #jquery #регулярное выражение

Вопрос:

Я думал написать некоторый код на PHP, чтобы изменить все id изображения в соответствии с их alt значениями. Было бы проще реализовать это в jQuery?

Что мне нужно сделать, так это взять эту строку

img alt=»puzzle» src=»images/cole.jpg » alt=»Это я» style=»display:none;» />

и сделайте это

img id=»puzzle» alt=»головоломка» src=»images/cole.jpg » alt=»Это я» style=»display:none;» />

Комментарии:

1. Это действительно зависит от того, как настроена ваша система. Не могу точно ответить на этот вопрос без некоторых разъяснений / фрагментов кода. Суть в том, что попробуйте тот, который вам больше нравится, и посмотрите, как это получится, это не конец света, если это не удастся, и вам придется вернуться к другому методу. Просто опыт обучения.

2. Пожалуйста, проясните вопрос. Ваш ввод содержит два атрибута ALT!

Ответ №1:

Перенесите как можно больше на сервер. Также, что, если у пользователя включен javascript blocker?

Но я должен был бы спросить, почему вы хотите это сделать?

Маркеры идентификаторов и ИМЕН должны начинаться с буквы ([A-Za-z]) и могут сопровождаться любым количеством букв, цифр ([0-9]), дефисов («-«), подчеркиваний («_»), двоеточий («:») и точек («.»).

Но в тегах alt могут быть пробелы, это означает, что вы могли бы установить возможно недопустимый идентификатор!

Редактировать

Теперь вы отредактировали свой ответ: этот первый img тег является недопустимым html, у вас не может быть 2 alt тегов, и jQuery не сможет с этим справиться.

Ответ №2:

Если вы тот, кто пишет скрипты, это тот же объем работы.

Ответ №3:

Я считаю, что jQuery будет намного проще, поскольку вы можете выбрать ВСЕ изображения только один раз. Я думаю, php потребует больше размышлений и больше кода.

Если изображения уже есть, jQuery будет проще.

Если изображения создаются php с помощью цикла, это будет проще сделать с помощью php.

Ответ №4:

jQuery, вероятно, намного лучше разбирает DOM (читай: меньше работы для вас), но это будет быстрее, если вы сможете сделать это на уровне сервера.

Ответ №5:

Если эта функциональность имеет решающее значение для удобства использования вашего веб-сайта, сделайте это на уровне сервера. Таким образом, если у клиента отключен Javascript, он все равно сможет использовать веб-сайт по вашему усмотрению.

jQuery великолепен, и у подавляющего большинства пользователей включен Javascript, но я обычно ограничиваю jQuery некритичными дополнениями для улучшения пользовательского опыта.