Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2023, 16:33
Аспирант
Отправить личное сообщение для Aidec Посмотреть профиль Найти все сообщения от Aidec
 
Регистрация: 07.12.2022
Сообщений: 88

Как закрасить строку в table по условию
Есть table
Нужно сделать так что бы строка закрашивалась если в ячейке этой строки есть определенный текст, например "закрасить".
Я находил только варианты при клике или наведении а что бы по тексту в ячейке вообще не встречал.
Может кто подскажет что смотреть, где смотреть?))
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2023, 16:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aidec,
что мешает поставить класс в цикле проверяя содержимое?
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2023, 16:53
Аспирант
Отправить личное сообщение для Aidec Посмотреть профиль Найти все сообщения от Aidec
 
Регистрация: 07.12.2022
Сообщений: 88

Често пока не совсем понимаю как это сделать, можно пример или инфу какуето по этому делу?
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2023, 16:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

css includes text
Aidec,
<!DOCTYPE HTML>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        table {
            border-collapse: collapse;
            border: 2px solid rgb(200, 200, 200);
            letter-spacing: 1px;
            font-family: sans-serif;
            font-size: 0.8rem;
        }
        td,
        th {
            border: 2px solid rgb(200, 200, 200);
        }
        td.red {
            background-color: #FF0000;
        }
    </style>
</head>
<body>
    <table>
        <caption>Alien football stars</caption>
        <tr>
            <th scope="col">Player</th>
            <th scope="col">Gloobles</th>
            <th scope="col">Za'taak</th>
        </tr>
        <tr>
            <th scope="row">TR-7</th>
            <td>7</td>
            <td>4,569</td>
        </tr>
        <tr>
            <th scope="row">Khiresh Odo</th>
            <td>7</td>
            <td>7,223</td>
        </tr>
        <tr>
            <th scope="row">Mia Oolong</th>
            <td>9</td>
            <td>6,219</td>
        </tr>
    </table>
    <script>
        let patern = '7';
        document.querySelectorAll('td').forEach(td => {
            let txt = td.textContent;
            td.classList.toggle('red', txt.includes(patern))
        })
    </script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 12.03.2023, 17:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aidec,
если дублировать текст в data атрибут то можно без скрипта только css
td[data-txt*="7"] { ... }
Ответить с цитированием
  #6 (permalink)  
Старый 12.03.2023, 17:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aidec,
отмечены ячейки в которых есть цифра 9
<!DOCTYPE HTML>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        table {
            border-collapse: collapse;
            border: 2px solid rgb(200, 200, 200);
            letter-spacing: 1px;
            font-family: sans-serif;
            font-size: 0.8rem;
        }
        td,
        th {
            border: 2px solid rgb(200, 200, 200);
        }
        td[data-txt*="9"] {
            background-color: #FF0000;
        }

    </style>
</head>
<body>
    <table>
        <caption>Alien football stars</caption>
        <tr>
            <th scope="col">Player</th>
            <th scope="col">Gloobles</th>
            <th scope="col">Za'taak</th>
        </tr>
        <tr>
            <th scope="row">TR-7</th>
            <td data-txt="7">7</td>
            <td data-txt="4,569">4,569</td>
        </tr>
        <tr>
            <th scope="row">Khiresh Odo</th>
            <td data-txt="7">7</td>
            <td data-txt="7,223">7,223</td>
        </tr>
        <tr>
            <th scope="row">Mia Oolong</th>
            <td data-txt="9">9</td>
            <td data-txt="6,219">6,219</td>
        </tr>
    </table>

</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 12.03.2023, 17:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aidec,
в будущем будет просто td:contains('ваш_текст'){...}
Ответить с цитированием
  #8 (permalink)  
Старый 12.03.2023, 17:52
Аспирант
Отправить личное сообщение для Aidec Посмотреть профиль Найти все сообщения от Aidec
 
Регистрация: 07.12.2022
Сообщений: 88

А если я текст получаю в td таким образом
‘<td>’ + dateSeven(arr[i].Dataob) + ‘</td>’;

?
Ответить с цитированием
  #9 (permalink)  
Старый 12.03.2023, 17:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aidec,
`<td data-txt="${dateSeven(arr[i].Dataob)}">${dateSeven(arr[i].Dataob)}</td>`
Ответить с цитированием
  #10 (permalink)  
Старый 12.03.2023, 18:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aidec,
`<td class="${dateSeven(arr[i].Dataob).includes('ваш_техт')? 'red' : ''}">${dateSeven(arr[i].Dataob)}</td>`
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить сериализованную строку в SVG ? ravend Общие вопросы Javascript 2 06.07.2015 12:48
Как раскодировать строку которая приходит с сервера? Armen Общие вопросы Javascript 3 11.03.2015 15:48
Как написать регулярное выражение, которое будет возвращать строку? Armen Общие вопросы Javascript 2 09.10.2014 22:29
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25