Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Ошибка "Cannot read property 'style' of undefined" JS

Здравствуйте. Нашел в интернете красивую , написанную на JS. Попробовал прикрутить к своему проектику, но консоль выдает ошибку, никак не могу понять что стало причиной ее появления. Текст ошибки ниже.
Кликните здесь для просмотра всего текста
galery.js:43 Uncaught TypeError: Cannot read property 'style' of undefined
at new PGObj (galery.js:43)
at Object.init (galery.js:13)
at window.onload (galery.js:127)

Код галереи -
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="galery" id="glry">   
                <img src="image/screens/screen-1.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-2.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-3.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-4.jpg" width="265px" height="210px"> <span>Описание скриншота</span>     
                <img src="image/screens/screen-5.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-6.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-7.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-8.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-9.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-10.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-11.jpg" width="265px" height="210px"><span>Описание скриншота</span>
                <img src="image/screens/screen-12.jpg" width="265px" height="210px"><span>Описание скриншота</span>  
            </div>
JS код -
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
to_px = function (x) { return ''.concat(Math.round(x), 'px'); }
g_resize = function() { pgal.resize(); }
 
var pgal = { 
    O : [], N : 0, S : 0, img : 0, span : 0, xm : 0, ym : 0, nx : 0, ny : 0, nw : 0, nh : 0, 
    cx : 0, cy : 0, zoom : 1, x : 0, y : 0, z : -30000, xt : 0, yt : 0, zt : 0, 
 
    init : function () { 
        this.cx   = this.nw / 2; 
        this.cy   = this.nh / 2; 
        this.img  = document.getElementById('glry').getElementsByTagName('img'); 
        this.N    = this.img.length; 
        for (var i = 0; i < this.N; i++) this.O[i] = new this.PGObj(i); 
        this.run(); 
        this.O[0].click(); 
    }, 
    resize : function () { 
        var o   = document.getElementById('glry');
        this.nx   = o.offsetLeft; 
        this.ny   = o.offsetTop; 
        this.nw   = o.offsetWidth; 
        this.nh   = o.offsetHeight; 
        this.zoom = this.nh / 900; 
    }, 
    run : function () { 
        pgal.cx += (pgal.xm - pgal.cx) * .1; 
        pgal.cy += (pgal.ym - pgal.cy) * .1; 
        pgal.x  += (pgal.xt - pgal.x)  * .05; 
        pgal.y  += (pgal.yt - pgal.y)  * .05; 
        pgal.z  += (pgal.zt - pgal.z)  * .1; 
        var i = pgal.N; 
        while (i--) pgal.O[i].anim(); 
        setTimeout(pgal.run, 16); 
    },
    PGObj : function (n) {
        this.n                = n; 
        this.x                = pgal.zoom * Math.random() * pgal.nw * 3 - pgal.nw; 
        this.y                = pgal.zoom * Math.random() * pgal.nh * 3 - pgal.nh; 
        this.z                = Math.round(n * (10000 / pgal.N)); 
        this.w                = pgal.img[n].width; 
        this.h                = pgal.img[n].height; 
        this.oxt              = pgal.span[n]; 
        this.oxs              = this.oxt.style; 
        this.txt              = pgal.span[n].innerHTML; 
        this.oxt.innerHTML    = ""; 
        this.obj              = pgal.img[n]; 
        this.obs              = this.obj.style; 
        this.obj.parent       = this; 
        this.obj.onclick      = function() { this.parent.click(); } 
        this.obj.ondrag       = function() { return false; } 
        this.oxt.style.zIndex = this.obj.style.zIndex = Math.round(1000000 - this.z); 
        this.F                = false; 
        this.CF               = 100; 
        this.sto              = []; 
 
        this.anim = function() { 
            var f = 700 + this.z - pgal.z; 
            if (f > 0) { 
                var d               = 1000 / f; 
                var X               = pgal.nw * .5 + ((this.x - pgal.x - pgal.cx) * d); 
                var Y               = pgal.nh * .5 + ((this.y - pgal.y - pgal.cy) * d); 
                var W               = d * this.w * pgal.zoom; 
                var H               = d * this.h * pgal.zoom; 
                this.obs.left       = to_px(X - W * .5); 
                this.obs.top        = to_px(Y - H * .5); 
                this.obs.width      = to_px(W); 
                this.obs.height     = to_px(H); 
                this.oxs.visibility = (this.CF-- > 0 && Math.random() > .9) ? "hidden" : "visible"; 
                this.oxs.left       = to_px(X - W * .5); 
                this.oxs.top        = to_px(Y + H * .5); 
                if ((pgal.zt - pgal.z) < 20) { 
                    if (! this.F) { 
                        this.F            = true; 
                        this.CF           = Math.random() * 200; 
                        this.oxs.fontSize = to_px(1 + d * 20 * pgal.zoom); 
                        var T             = ""; 
                        var tn            = this.txt.length; 
                        for(var i = 0; i < tn; i++) { 
                            T = T.concat(this.txt.charAt(i)); 
                            this.sto[i] = setTimeout('pgal.O['.concat(n, '].oxt.innerHTML = "', T, '";'), Math.round(f / 4) + 10 * i);
                        } 
                    } 
                } else { 
                    this.F = false; 
                    this.oxt.innerHTML = ""; 
                } 
            } else { 
                this.x  = pgal.zoom * Math.random() * pgal.nw * 3 - pgal.nw; 
                this.y  = pgal.zoom * Math.random() * pgal.nh * 3 - pgal.nh; 
                this.z += 10000; 
                this.oxs.zIndex = this.obs.zIndex = Math.round(1000000 - this.z); 
            } 
        } 
 
        this.cto = function() { 
            var i = this.txt.length; 
            while (i--) clearTimeout(this.sto[i]); 
        } 
 
        this.click = function() { 
            var i = pgal.N; 
            while (i--) pgal.O[i].cto(); 
            if (pgal.S != this) { 
                pgal.xt = this.x; 
                pgal.yt = this.y; 
                pgal.zt = this.z; 
                pgal.S  = this; 
            } else { 
                pgal.S   = 0; 
                pgal.zt += 1600; 
            } 
        } 
    }
} 
 
window.onresize = g_resize;
 
document.onmousemove = function(e) { 
    if (window.event) e=window.event; 
    pgal.xm = (e.x || e.clientX) - pgal.nx - pgal.nw * .5; 
    pgal.ym = (e.y || e.clientY) - pgal.ny - pgal.nh * .5; 
} 
 
window.onload = function() { 
    g_resize(); 
    pgal.init(); 
}
Надеюсь на вашу помощь.
Ответ: TRNR, ну написано же что на 43 строке, вы применяете свойство которого не существует, либо вы что-то не полностью скопировали(стерли), либо ошибка изначально была.
Вопрос: Ошибка, при попытке повесить обработчик

Здравствуйте. Подскажите пожалуйста, пытаюсь повесить обработчик на событие "blur" на инпате и получаю ошибку.
Код:
Uncaught TypeError: a.log is not a function
    at HTMLInputElement.a.(:3000/anonymous function).addEventListener (http://localhost:3000/js/all.js:1:793)
Хотя обработчик на "фокус" срабатывает нормально. Вот код:
window.addEventListener('DOMContentLoaded', (e) => {
    let controls = document.getElementsByClassName('input__control');
    for(let i = 0;  i<controls.length; i++){
        controls[i].addEventListener('focus', (e)=>{
            let input = e.target.closest('.input');
            input.classList.add("input_focused");            
            console.log(controls[i]);//Тест
            controls[i].addEventListener("blur", (e)=>{
                controls.log('111');//Тест               
            })
        })
    }
});

Вот HTML:
<span class="input input_size-l search__input">
          <span class="input__box">
                  <input class="input__control" placeholder="Что ищите?" name="search" id="search" value="">
            </span>
</span>
Ответ:
Сообщение от j0hnik
controls.log('111');//Тест
9 строка нет на винде такого метода
Да уж=))Спасибо за то, что тыкнули
Сообщение от j0hnik
первый пример полная хрень, вешать новый обработчик при каждом событии фокус.
Спасибо за пояснение, только учусь, действительно ерундово вышло
Вопрос: Uncaught TypeError: Cannot read property 'value' of undefined

Не могу понять в чем проблема выдает ошибку Uncaught TypeError: Cannot read property 'value' of undefined.
файл js
Javascript
1
2
3
4
function ValidatePage() {
    var testEmail = document.getElementById['txtEmail'].value;
    
}
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="ValidateMainJS.js"></script>
</head>
<body>
    <form id="frmRegister" name="frmRegister" >
        <table>
            <tr>
                <td>
                    <label id="lblEmail" >Введите вашу электронную почту: </label>
                </td>
                <td>
                    <input id="txtEmail" type="text"  />
                </td>
            </tr>
            <tr>
                <td>
                    <input id="btnSubmit" type="button"  value="Отправить" onclick="ValidatePage()" />
                </td>
                <td>
                    <input id="btnClear" type="reset" value="Очистить" />
                </td>
            </tr>
Добавлено через 5 минут
Все разобрался тему можно удалять
Ответ: Попробуйте заменить
Javascript
1
<input id="txtEmail" type="text"  />
на
Javascript
1
<input id="txtEmail" type="text"  value=""/>
Вопрос: Когда стартует сайт выдает ошибку в консоли

Uncaught TypeError: Cannot set property 'innerHTML' of null
at showIt (index.php:622)
at <anonymous>:1:1

я понимаю о чем это написано, но не знаю как исправить. Подскажите, кто сталкивался с подобной ошибкой , как исправить её ?
Ответ:
Сообщение от eluzor
Cannot set property 'innerHTML' of null
Нельзя установить свойство свойство innerHTML у null.
Сообщение от eluzor
как исправить её ?
Не пытаться устанавливать свойство innerHTML у null.
Вопрос: Ошибка Cannot read property 'hide' of null

код должен скрывать контент и открывать при клике на заголовок, но появляется эта ошибка:
Cannot read property 'hide' of null
$(document).ready(function(){
$(".spisok").hide();
$("p span").click(function(){
$(this).parent().next().slideToggle();
});
});

<div class="tseny">
<h2><span>заголовок</span></h2>
<div class="spisok">
  Контент
</div>


На компьютере все работает - на нет. Пробовал вставлять код до элемента и после, обращаться по ид и по классу, менять версию jquery
Ответ: strify_25, у тебя там jquery лишний был... один 11 другой 12 версии надо один убрать... может и третий найдется если хорошо поискать)
Вопрос: Отправка заявки через ajax и php не удается, выдает ошибку

Помогите пожалуйста!
Не работает форма отправки заявки.
В файле .js следующий код:
$('#contact_form input[type="submit"]').bind('click', function() {

$("#contact_form").validate({
rules: {
name: { required:true },
email: { required:true, email: true },
subject: { required:true },
message: {required: true}
},
messages: {
name: "Введите имя",
email: { required: "E-Mail Required", email: "Введите Ваш электронный адрес" },
subject: "Введите Ваш номер телефона",
message: "Введите текст сообщения"
},
errorElement: "span"
});

if($("#contact_form").valid()) {

$.ajax({
url: "mail.php",
type: 'POST',
data: "name="+$('#name').val()+"&email="+$('#email').val()+"&subject="+$('#subject').val()+"&message="+$('#message').val(),
success: function(data) {
if(data == 'Complete') {
alert();
$('#contact_form').html("<div id='notification'><h2 style='color: rgb(33, 197, 26);'>Ваш заявка принята !</h2><p>"+data+"</p></div>")
.hide()
.fadeIn(1500, function() {
$('#contact_form').append("");
});
} else {
$('#contact_form').html("<div id='notification'><h2 style='color: #F00;'>Ошибка !</h2><p>"+data+"</p></div>")
.hide()
.fadeIn(1500, function() {
$('#contact_form').append("");
});
}

},
error: function() {
$('#contact_form').html("<div id='error'><h2>Ошибка.</h2></div>").css('color', 'red');
}
});

return false;

}

});

А вот код файла mail.php:
<?
$to = '1@gmail.com';
$subject = 'Обратный звонок';
$message = '
<html>
<head>
<title>'.$subject.'</title>
</head>
<body>
<p>Имя: '.$_POST['name'].'</p>
<p>Телефон: '.$_POST['email'].'</p>
</body>
</html>';
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: Отправитель <from@example.com>\r\n";
mail($to, $subject, $message, $headers);
}
?>

При отправке запроса выдает ошибку, а именно "Ошибка !" как в коде( выделил жирным)
Консоль выдает ошибку:
Метод getPreventDefault() является устаревшим. Для его замены используйте метод defaultPrevented.
Я новичок, во многом не разбираюсь. Взял шаблон сайта и переделываю его под себя. Файла php не было, его я написал сам.
Что делаю не так?
Ответ:
Сообщение от новичок99
Консоль выдает ошибку:
Метод getPreventDefault() является устаревшим. Для его замены используйте метод defaultPrevented.
Попробуйте обновить (скачать и подключить более новую) версию jQuery и плагина validate.
Вопрос: Функция выдает ошибку

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function generate(active,location){
    if(active){
        var add="";
    }else{
        var add="un";
    }
    var x=Math.random();
    if(x>=0.8){
        var result="med"+add;          
    }else if(x>0.6 && x<0.8){       
        var result="ak"+add;
    }else if(x>0.5 && x<=0.6){
        var result="car"+add;
    }else if(x>0.49 && x<=0.5){
        var result="super"+add;   
    }else{
        var result="enemy"+add;
    }
    view.makeStatus(location,result);
    return result;  
}
function game(location){
    if(view.getStatus(location)==""){
        var subj=function generate(true,location);}
}
Выдает ошибку в строке с var subj(Uncaught SyntaxError: Unexpected token true)
Ответ:
Сообщение от Balanaar
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function generate(active,location){
    if(active){
        var add="";
    }else{
        var add="un";
    }
    var x=Math.random();
    if(x>=0.8){
        var result="med"+add;          
    }else if(x>0.6 && x<0.8){       
        var result="ak"+add;
    }else if(x>0.5 && x<=0.6){
        var result="car"+add;
    }else if(x>0.49 && x<=0.5){
        var result="super"+add;   
    }else{
        var result="enemy"+add;
    }
    view.makeStatus(location,result);
    return result;  
}
function game(location){
    if(view.getStatus(location)==""){
        var subj=generate(true,location);}
}
Спасибо огромное полчаса голову ломал почему не работает
Вопрос: Почем выдает ошибку Maximum call stack size exceeded?

ело в том что если вызвать функцию вот так

Javascript
1
2
3
4
function change(color){
       //какой то код
        setTimeout(()=>{change(color)},250);
        }

то все нормально, задержка 250 мс нормально работает, но стоит написать вот так
Javascript
1
setTimeoutchange(color),250);
тоесть первый параметр не запихнуть в функцию, задержка никак не работает, и браузер, более 40 тысяч раз выполнив рекурсию(проверено) выдает ошибку Maximum call stack size exceeded.
Ответ: Действительно, почему?
Javascript
1
2
3
4
5
6
7
function change(color) {
  console.log(color++);
  //if(color > 10) return;
  setTimeout(change(color), 250); // функция сразу же вызывается на исполнение, и в сетТаймаут должен попать результат выполнения, чего не происходит
}
 
change(1);
lyovsm66, потому что, рекурсия бесконечная. То есть функция вызывается сразу же. Это в моем примере.
В вашем же случае проблема в том, что
Сообщение от lyovsm66
Javascript
1
//какой то код
Если обернуть в анонимную функцию, то вызов бцдет отложен.
Javascript
1
2
3
4
5
6
7
function change(color) {
  console.log(color++);
  // if(color > 10) return;
  setTimeout(function () { change(color) }, 250); // функция будет вызвана после 250 мс
}
 
change(1);
Если бы вы удосужились почитать документацю по , то узнали, что у функции третий необязательный параметр - массив аргументов, которые надо передать в функцию
Javascript
1
2
3
4
5
6
7
function change(color) {
  console.log(color++);
  if(color > 10) return;
  setTimeout(change, 250, color);
}
 
change(1);
Вопрос: Rewrite выдает ошибку 500

RewriteEngine on
RewriteBase /test.loc/
RewriteRule ^(.*)$ index.php

Вот таким кодом пытаюсь перенаправить все страницы сайта на index.php. Но выдает ошибку 500.
Если удаляю строку последнюю, то все начинает работать, но перенаправление не включено.
Работаю на apache 2.0 локальный сервер denwer 3.
Модуль rewrite подлючено - смотрел в config apache он там раскоменчен, но единственная строка умпоминающая этот адрес
LoadModule rewrite_module modules/mod_rewrite.so
Ответ: А если вставляю ваш код, то перенаправление не срабатывает вообще, могу спокойно открыть любую страницу сайта. например
- открывает именно эту страницу, а не index.html

Добавлено через 6 часов 22 минуты
Нашел решение проблемы
RewriteEngine on
RewriteBase / - именно так пишется директива сайта на denwer, у меня с ней была ошибка
RewriteRule ^(.*)$ index.php
Вопрос: Отладчик выдаёт ошибку . Не могу понять

Вообщем вопрос такой. Хочу, чтобы через кнопку поиск находило всю информацию о продуктах и выводила всё в таблице. Но отладчик выдаёт ошибку Uncaught ReferenceError: сhoiseElement is not defined shopProducts @ myJavaScript.js:51
searchProducts @ myJavaScript.js:7.

И подчеркивает вот это место: + сhoiseElement.nameProduct + "</td> <td>"+сhoiseElement.shop + "</td> <td> "+ сhoiseElement.price +"</td></tr></table>"

Код находится снизу.


window.onload =function(){
document.getElementById('searchButton').onclick = searchProducts;
}
var searchProducts = function (){
var products = document.getElementById('searchProducts');
var productsValue = products.value;
shopProducts(productsValue);
console.log(productsValue);
}


function Shop(nameProduct,shop,price){
this.nameProduct = nameProduct;
this.shop = shop;
this.price = price;
}

var bananM = new Shop("Банан", "MARTIN", "12 100 тыс/кг");
var orangeM = new Shop("Апельсин","MARTIN","15 300 тыс/кг");
var cola2M = new Shop("Кока-кола","MARTIN", "13 500 тыс/2л");
var cola1M = new Shop("Кока-кола","MARTIN", "8 500 тыс/1л");

var MARTIN =[bananM,orangeM,cola1M,cola2M];

var bananBel = new Shop("Банан", "Белмаркет", "10 900 тыс/кг");
var orangeBel = new Shop("Апельсин","Белмаркет","6 300 тыс/кг");
var cola2Bel = new Shop("Кока-кола","Белмаркет", "14 500 тыс/2л");
var cola1Bel = new Shop("Кока-кола","Белмаркет", "10 500 тыс/1л");

var belMarket =[bananBel,orangeBel,cola2Bel,cola1Bel];

var bananRub = new Shop("Банан", "Рублёвский", "15 900 тыс/кг");
var orangeRub = new Shop("Апельсин","Рублёвский","8 300 тыс/кг");
var cola2Rub = new Shop("Кока-кола","Рублёвский", "10 100 тыс/2л");
var cola1Rub = new Shop("Кока-кола","Рублёвский", "8 800 тыс/1л");

var rublevskiy = [bananRub,orangeRub,cola2Rub,cola1Rub];

var shop = [MARTIN, belMarket,rublevskiy];



function shopProducts(searchProduct){
for (var i = 0; i<shop.length;i++){
var choiseShop = shop[i];
var choiseElement =choiseShop[i];
if (choiseElement.nameProduct === searchProduct){

var table = document.getElementById("table");
table.innerHTML ="<table border='1px' style='border-collapse: collapse;'><tr><th>Название продукта</th> <th> Магазин</th> <th> Цена</th></tr>" +
+ "<tr><td>"+ сhoiseElement.nameProduct + "</td> <td>"+сhoiseElement.shop + "</td> <td> "+ сhoiseElement.price +"</td></tr></table>";

}
if(choiseElement.nameProduct !== searchProduct){console.log('Ничего не найдено.')};

}

}
Ответ: проблема в области видимости: function ограничивает область видимости.
Вот такой вариант рабочий:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="Keywords" content="">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ГГ</title>
<style>
#table {
  width: 100px;
  height: 300px;
}
</style>
</head>
<body>
<input id="searchProducts"  type="text" value='Банан'>
<button id="searchButton">Жми</button>
<div id="table"></div>
<script>
window.onload =function(){
document.getElementById('searchButton').onclick = searchProducts;
}
var bananM = new Shop("Банан", "MARTIN", "12 100 тыс/кг");
var orangeM = new Shop("Апельсин","MARTIN","15 300 тыс/кг");
var cola2M = new Shop("Кока-кола","MARTIN", "13 500 тыс/2л");
var cola1M = new Shop("Кока-кола","MARTIN", "8 500 тыс/1л");

var MARTIN =[bananM,orangeM,cola1M,cola2M];

var bananBel = new Shop("Банан", "Белмаркет", "10 900 тыс/кг");
var orangeBel = new Shop("Апельсин","Белмаркет","6 300 тыс/кг");
var cola2Bel = new Shop("Кока-кола","Белмаркет", "14 500 тыс/2л");
var cola1Bel = new Shop("Кока-кола","Белмаркет", "10 500 тыс/1л");

var belMarket =[bananBel,orangeBel,cola2Bel,cola1Bel];

var bananRub = new Shop("Банан", "Рублёвский", "15 900 тыс/кг");
var orangeRub = new Shop("Апельсин","Рублёвский","8 300 тыс/кг");
var cola2Rub = new Shop("Кока-кола","Рублёвский", "10 100 тыс/2л");
var cola1Rub = new Shop("Кока-кола","Рублёвский", "8 800 тыс/1л"); 

var rublevskiy = [bananRub,orangeRub,cola2Rub,cola1Rub];

var shop = [MARTIN, belMarket,rublevskiy];

var searchProducts = function (){
var products = document.getElementById('searchProducts');
var productsValue = products.value;

shopProducts(productsValue);
console.log(productsValue);
}


function Shop(nameProduct,shop,price){
this.nameProduct = nameProduct;
this.shop = shop;
this.price = price;
}

function shopProducts(searchProduct){

for (var i = 0; i<shop.length;i++){
var choiseShop = shop[i];
var choiseElement =choiseShop[i];
if (choiseElement.nameProduct === searchProduct){

var table = document.getElementById("table");
table.innerHTML ="<table border='1px' style='border-collapse: collapse;'><tr><th>Название продукта</th> <th> Магазин</th> <th> Цена</th></tr>" +
+ "<tr><td>"+ choiseElement.nameProduct + "</td> <td>"+choiseElement.shop + "</td> <td> "+ choiseElement.price +"</td></tr></table>";

}
if(choiseElement.nameProduct !== searchProduct){console.log('Ничего не найдено.')};
}
}
</script>
</body>
</html>