Есть допустим 100 тегов <li> , как их через цикл провести?Что бы к примеру выделить четные. Вопрос не в том как это все писать и получить результат,а в том,как сделать что бы цикл распознал эти теги <li>
В смысле распознал? --- Добавлено --- То есть уже есть список, где 100 li и надо выделить четные строки? --- Добавлено --- Записать весь список в строку и искать открывающий тег и закрывающий и вести счёт
Весь список в строку?Все сто тегов в одну строчную переменную записать?А если их например будет не сто,а 3000?По другому конечно представлял это.А есть какой то пример?
Верно,четным нужный цвет.Сами теги провел через foreach,но не пойму как теперь к четным выставить нужный цвет. Вот сам код: PHP: <?php $i = array("<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 0;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 20px; height: 19px; top: 0;left: 18px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 20px; height: 19px; top: 0;left: 18px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"background: yellow ; width: 18px; height: 19px; top: 0;left: 38px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 56px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 74px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 93px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 112px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 131px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 149px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 167px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 186px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 204px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 223px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 242px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 261px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 280px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 298px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 316px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 335px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 353px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 371px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 390px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 409px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 428px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 447px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 465px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 18px; height: 19px; top: 0;left: 484px;\" title = \"Привет!\"></li></a>", "<a href = \"#\"><li style = \"width: 19px; height: 19px; top: 0;left: 502px;\" title = \"Привет!\"></li></a>", ); ?> <?php foreach($i as $value){ echo $value; } ?>
Эхехе. Во-первых, у вас во всех li одинаковый на 90% style. Зачем? Лучше вынести это в CSS-класс и назначить этот класс вашим li. Во-вторых, изучайте CSS. И, в частности, css-селекторы. Задача, которую вы пытаетесь решить, не требует участия сервера, не требует перебора элементов и вообще не требует внимания разработчика. Потому что просто можно попросить браузер красить четные и нечетные элементы по-разному. На чистом CSS. Без капли исполняемого кода. Я гарантирую это.
Класс!Про чистый CSS даже не помышлял,хотя может потому что определенный цвет на четные,это просто проверка на работоспособность. Но что если в тег li данные будут приходить из базы или например пользователь будет в них что то заливать.Тут ведь по любому понадобится сортировка через цикл?
Выдайте каждому li некий уникальный идентификатор. Когда будете дергать базу, запоминайте для какого иднетификатора дергаете изменение. Либо с сервера в ответе указывайте, для кого это изменение пересылается. На клиенте просто по этому идентификатору находите ваш li и работаете с ним. Для этого в JS есть специальные функции. getElementById, getElementsByClass, querySelector и так далее. Все намного проще, чем вы думаете.
Ну видимо да,подозревал что с JS проще будет,просто было интересно на чистом php сделать.Спасибо за ответ!
Не надо на сервере пилить логику клиента. Мертвая затея. Логику клиента надо паковать в JS и оставлять на совесть браузера.