Сначала получаете координаты элемента, относительно которого нужно позиционировать, а список вешаете на абсолютное позиционирование относительно body с нужными значениями top, left (берете из этих координат).
БД из HTML-файла — хм… что-то очень новенькое. Навряд ли в Интернете пишут что-то глупое, а вот ваша идея создания БД из HTML-файла — похоже на бред.
Чем не устраивает JSON для этой задачи? Внешний файл.
На просторах Интернета, где говорят бред, можно найти вот такой пример с динамической генерацией datalist'а на основе AJAX-запрашиваемого внешнего JSON-файла:
fansik, серый — значит, у вас не все ресурсы идут через HTTPS. Смотрите в инспекторе, кто и что грузит у вас по HTTP. С учётом монструозной рекламы, найти виновника будет несложно.
UPDATE. Серый цвет иконки замка нынче в десктопном Chrome, как верно отметил RAX7, не говорит о проблемах:
Сергей delphinpro, смотря для чего. Я сам использую этот плагин, но если нужно просто добавить данный эффект по типу «у кого работает, то хорошо, у кого не будет — ну и пофиг» (т. е. если он не принципиален) и если не надо сложной логики, то я использую CSS-подход.