Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   помощь по проверке (https://javascript.ru/forum/dom-window/73098-pomoshh-po-proverke.html)

prolk 20.03.2018 22:38

помощь по проверке
 
нужна помощь! две страницы, одна функция..... на первой странице есть скрытая ссылка при нажатии на кнопку, она появляется..... но на второй странице ее нет... там просто текст..... как отменить 'link' для второй страницы........? все работает, только выдает....... 'link is not defind'



function func_search(texta) {
         var i = 0;
         var pos = content.indexOf(texta);
         while (pos != -1) {
             var root_d = document.getElementById("div0").childNodes[i];
             var el_n = document.createElement('a');
             el_n.setAttribute('href', 'http://google.com');
             el_n.setAttribute('style', 'background-color:gold;');
             rng = document.createRange();
             rng.setStart(root_d, pos);
             rng.setEnd(root_d, pos + texta.length);
             rng.surroundContents(el_n);
             i += 2;
             root_d = document.getElementById("div0").childNodes[i];
             content_new = root_d.textContent;
             pos = content_new.indexOf(texta);

         }
         link.style.display = 'block';
 
         link.onclick = function() {
             if (texta != "") {
                 location.href = 'page.html?param=' + texta;
             }
             return false;
         }

     }


это первый вариант!!!!!

function func_search(texta) {
         var i = 0;
         var pos = content.indexOf(texta);
         while (pos != -1) {
             var root_d = document.getElementById("div0").childNodes[i];
             var el_n = document.createElement('a');
             el_n.setAttribute('href', 'http://google.com');
             el_n.setAttribute('style', 'background-color:gold;');
             rng = document.createRange();
             rng.setStart(root_d, pos);
             rng.setEnd(root_d, pos + texta.length);
             rng.surroundContents(el_n);
             i += 2;
             root_d = document.getElementById("div0").childNodes[i];
             content_new = root_d.textContent;
             pos = content_new.indexOf(texta);

         }
        !!!!!!!!!! if (document.getElementById('link')) {
             link.style.display = 'block';
         }
         link.onclick = function() {
             if (texta != "") {
                 location.href = 'page.html?param=' + texta;
             }
             return false;
         }!!!!!!!!!!!!!!!!!!

     }

это второй вариант..!

Dilettante_Pro 21.03.2018 10:04

Проверка механизма...
Есть линк
<button onclick='showLink()'>Test</button>
<div id='link' style='display:none'>Link</div>
<script>
function showLink() {
   var link = document.getElementById('link');
   if(link) {
       link.style.display = 'block';
       link.onclick = function() {
           alert('Linked!');
      }
   } 
}
</script>


Нет линка
<button onclick='showLink()'>Test</button>
<script>
function showLink() {
   var link = document.getElementById('link');
   if(link) {
       link.style.display = 'block';
       link.onclick = function() {
           alert('Linked!');
      }
   }
}
</script>

Можно кнопку спрятать, если нет линка

prolk 21.03.2018 22:47

спасибо!!!!!!


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