DGKumar Ответов: 2

Подстрока не работает в jquery.


1. Мне нужно создать список, как показано ниже ли в цикле for

$('#lstAPIs').append("<li  id='" + list[i].Uuid + "'>" + "<div>" + eventIcon + "</div><div  style='float:left;'><h4 title=" + list[i].UserIdentity + ">" + list[i].UserIdentity.substring(0, 15) + "..." + "</h4><hr style='width:100%;border:1px dotted silver;'/><h5>" + list[i].TransactionName.substring(0, 23) + "..." + "</h5></div></div>" + ' </li>');



Если я дам sbustring или substr

я получаю следующую ошибку, не могли бы вы предложить, как это исправить.
Uncaught TypeError: Cannot read property 'substring' of undefined

Моя версия jquery - это версия 3.1.1

Что я уже пробовал:

$('#lstAPIs').append("<li  id='" + list[i].Uuid + "'>" + "<div>" + eventIcon + "</div><div  style='float:left;'><h4 title=" + list[i].UserIdentity + ">" + list[i].UserIdentity.substring(0, 15) + "..." + "</h4><hr style='width:100%;border:1px dotted silver;'/><h5>" + list[i].TransactionName.substring(0, 23) + "..." + "</h5></div></div>" + ' </li>');


для этого получаем следующую ошибку
"
Uncaught TypeError: Cannot read property 'substring' of undefined
"

2 Ответов

Рейтинг:
1

F-ES Sitecore

Либо UserIdentity, либо TransactionName name являются "неопределенными", то есть они не существуют как свойства list[i]. Таким образом, либо ваш код не соответствует вашим данным, либо, возможно, эти свойства присутствуют только несколько раз, и ваш код должен обрабатывать их, когда их нет. Мы не знаем ваших данных или ваших требований, поэтому трудно дать конкретное решение.


Рейтинг:
0

Patrice T

Мы не можем помочь вам в этом по той простой причине, что мы понятия не имеем, что находится внутри. list[i].
Можно только догадываться, что вы пытаетесь применить substring на чем-то, что не является ниточкой.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]
Отладка JavaScript[^]
Хром Инструменты Разработчика  |  Сеть  |  Разработчики Google[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.