Ошибка Javascript: исключение DOM 8 с использованием jQuery и массива
Я получаю эту ошибку:
Неперехваченная ошибка: NOT_FOUND_ERR: DOM Исключение 8
Вот мой код (пожалуйста, предложите что-нибудь, чтобы сделать его более эффективным / чистым):
В основном это кнопка, которая добавляет свой идентификатор в массив под названием "keywords":
$('.add').live('click', function() {
if($(this).text() == "+Add") {
console.log("add triggered");
$(this).stop().animate({backgroundColor:'#999d92'}, 300);
$(this).html("-Rem").fadeIn('fast');
keywords.push($(this).attr("id"));
$("#response").append(keywords);
}
else {
$(this).stop().animate({backgroundColor:'#cc6633'}, 300);
$(this).html("+Add").fadeIn('fast');
var index = keywords.indexOf($(this).attr("id"));
keywords.splice(index, index+1);
$("#response").append(keywords);
}
});
Я хочу, чтобы при нажатии кнопки "+ADD" атрибут id был добавлен в массив, а при нажатии кнопки-REM-удалить этот идентификатор из ключевых слов.
Любой совет был бы действительно помощь. Когда я просто добавляю $(это).attr ("id") к ответу div он печатает правильно. Я также попытался окружить его функцией "String ()" (возможно, это была ссылка на ресурс, а не сама строка?)
Спасибо, голова времени!
1 ответ:
keywords.splice(index, index+1);
Второй аргумент к
splice
- это число элементов, которые нужно удалить, так что, вероятно, это должно быть просто1
.$("#response").append(keywords);
Но
keywords
- это массив строк? jQuery не документирует такой интерфейс дляappend
.Вы хотите что-то вроде:?
$("#response").text(keywords.join(', '));