1. т.к. data-value одинаковое с хтмл, то его использовать смысла нет, а контент с дивов выбирать через хтмл или текст
2. переименовать getTags в что то с указанием контента, далее внутри сделать переменную в виде пустого массива, потом ее и вернуть в конце ф-ии, ну и костяком будет обход всех найденных тегов с ".item, .tags-input". В обходе уже в зависимости от общего кода или проверять является елемент инпутом через ноду, если да то брать с value, если нет, то брать с иннерхтмл(текст, кто как любит), после чего проверить длинну взятого контента, если больше 0, запушить к ранее созданному масиву, ну а второй вариант без проверки типа, попытаться взять value, проверить, не вышло, взять через иннерхтмл, не вышло, следующая итерация, ну а когда вышло, пушить в масив. Ну а акцент на то, делать ли проверку из-за того, что вообще может обращаться к этой ф-ии и что может иметь этот класс. Вообщем будет пофиг, собирать с инпутов или дивов контент, главное будет результат....