Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подтягивание другой переменной, если нужной нет. (https://javascript.ru/forum/misc/67840-podtyagivanie-drugojj-peremennojj-esli-nuzhnojj-net.html)

Sayler91 11.03.2017 14:20

Подтягивание другой переменной, если нужной нет.
 
Добрый день. Есть страничка.html обрабатываю скриптом JS. Условие: Если Data = _Data и NUMBER неравно _NUMBER, то _Data.style.backgroundColor = 'red';
Так вот, иногда бывает, что _NUMBER пустой, а _Data выделяется красным. Мне нужно, что если нет данных в _NUMBER, то брались данные из NUMBER. Подскажите пожалуйста кодом, или темой в JS.

<!DOCTYPE html>

<html>
 
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
 
</head>
<body>
    <table>
        <tr>
                        <th>№:</th>
                    <td>
                        <span id="NUMBER" xmlpathvalue="//Client_Information/UD_Number">123456789</span>
                            </td>
                    <td>
                        <span id="_NUMBER" class="PrintFill" xmlpathvalue="//New_Client_Information/UD_Number"></span>
                            </td>
                    </tr>
                    <tr>
                        <th>Когда:</th>
                    <td>
                        <span id="DATE" xmlpathvalue="//Client_Information/Issued_When">13.06.2016</span>
                            </td>
                    <td>
                        <span id="_DATE" class="PrintFill" xmlpathvalue="//New_Client_Information/Issued_When">13.06.2016</span>
                            </td>
                    </tr>
    </table>
 
    <input name="" type="button" value="test" onclick="test();">
    <script>
        function test() {
            var e1 = document.getElementById('NUMBER'); 
            var e2 = document.getElementById('_NUMBER');
            var e3 = document.getElementById('DATE');
            var e4 = document.getElementById('_DATE'); 
                 if(e3.textContent === e4.textContent && e1.textContent !== e2.textContent) {
                 e4.style.backgroundColor = 'red';
                  }
        }
    </script>
</body>
 
</html>

рони 11.03.2017 15:56

Цитата:

Сообщение от Sayler91
Мне нужно, что если нет данных в _NUMBER, то брались данные из NUMBER.

не осилил, но возможно вы хотели это
if(e3.textContent === e4.textContent && e2.textContent && e1.textContent !== e2.textContent)

Sayler91 11.03.2017 16:03

Скорее всего нет. Если функция проверяющая? Типа exist и если _NUMBER не пустой, то выполняется стандартная функция, если _NUMBER пустой, то другая функция.

рони 11.03.2017 16:12

Sayler91,
не понимаю оба ваши сообщения

Sayler91 11.03.2017 16:32

Иногда бывает такой вариант
<span id="NUMBER" xmlpathvalue="//Client_Information/UD_Number">123456789</span>
                            </td>
                    <td>
                        <span id="_NUMBER" class="PrintFill" xmlpathvalue="//New_Client_Information/UD_Number">123456789</span>
                            </td>

Иногда такой
<span id="NUMBER" xmlpathvalue="//Client_Information/UD_Number">123456789</span>
                            </td>
                    <td>
                        <span id="_NUMBER" class="PrintFill" xmlpathvalue="//New_Client_Information/UD_Number"></span>
                            </td>

Отличие это в _NUMBER. Если _NUMBER пустой выполнялась одна функция, если _NUMBER не пустой, то выполнялась другая функция. Мне нужно как то проверять пустой он или нет.

рони 11.03.2017 16:56

Sayler91,
if(e2.textContent) ...
else ...


Часовой пояс GMT +3, время: 23:43.