ошибка Uncaught SyntaxError: Unexpected token 'delete'

181
28 августа 2021, 21:00

Мне нужно сделать функцию, которая бы удаляла из верстки элементы корзины. Для этого пишу такой код:

{% extends 'main_page/main_page.html' %}
{% load static %}
{% block css %}
  <link rel="stylesheet" href="{% static 'css/basket.css' %}"/>
{% endblock %}
{% block content %}
  <table>
    <tr>
      <td class="image">изображение</td>
      <td class="text">название на латинском</td>
      <td class="text">цена на единицу</td>
      <td class="text">количество</td>
      <td class="text">сумма</td>
      <td class="text">удалить</td>
    </tr>
    {% for i, basket_element in basket_elements %}
      <tr id="table_row{{i}}">
        <td class="image">
          <img src="/{{ basket_element.image.url }}/" alt="картинка не работает" width="170" height="200">
        </td>
        <td class="text">{{ basket_element.latin_name }}</td>
        <td class="text">{{ basket_element.price }} руб</td>
        <td class="text">
            <input name="quantity" class="quantity{{ i }}" id="quantity{{ i }}" type="text" value="1">
            <button class="button{{ i }}" id="button{{ i }}" onclick="reprice({{ i }}, {{ basket_element.price }})" type="submit">
              <img src="{% static 'img/reload.png' %}" alt="reload">
            </button>
        </td>
        <td class="text-{{ i }}" id="end-price{{ i }}">{{ basket_element.price }}</td>
        <td class="text">
          <button id="delete{{ i }}" onclick="delete({{ i }})" type="submit">удалить</button>
        </td>
      </tr>
    {% endfor %}
  </table>
{% endblock %}
{% block js %}
    <script>
      function reprice(i, price_of_element){
        let button = document.getElementById('button'+i);
        let input = document.getElementById("quantity"+i);
        let str;
        if (input != null) {
            str = input.value;
            console.log(str);
            var price = str * price_of_element;
        }
        else {
            price = price_of_element;
        }
        let end = document.getElementById("end-price"+i);
        console.log(price);
        console.log(end);
        end.innerHTML = price;
        return price;
      }
      function delete(i){
        let element = document.getElementById("table_row"+i);
        element.parentNode.removeChild(element);
      };
    </script>
{% endblock %}
Answer 1

delete – это оператор, поэтому его нельзя использовать в качестве имени функции в ее определении.

В данном случае стоит просто переименовать функцию, например в deleteItem

READ ALSO
Как получить доступ к содержимому iframe?

Как получить доступ к содержимому iframe?

На странице имеется iframe, находящийся в одной папке вместе с родителемВнутри iframe имеется поле для ввода

98
Итератор изменяет свое значения

Итератор изменяет свое значения

Столкнулся с проблемой и никак не могу решить уже пару дней , прошу помощиСуть в том , что мне необходимо из строки вычленить все цифры, разделенные...

206
C++ - Создание типа конкретного размера

C++ - Создание типа конкретного размера

У меня есть необходимость хранить значение цвета в формате 0xAARRGGBB, то есть, нужен тип, занимающий 4 байтаЯ использую unsigned int, но, насколько знаю,...

252
ошибка, связанная с gets() c++

ошибка, связанная с gets() c++

решаю задачу на coderbyte, там массив читается так:

94