JQuery вставка Div работает только при обновлении - PullRequest
0 голосов
/ 05 декабря 2018

Я использовал следующее на странице продукта веб-сайта, чтобы сгенерировать ссылку mailto: с названием этого продукта и вставить div в существующий div для описания продукта

    var $emailsubject = $("h1.ProductItem-details-title").html();
    var $infoEmail = $("<div><a href='mailto:studio@ehgprop.co.uk?subject=RE: Prop Enquiry - "+$emailsubject+"'>Click here to enquire</a></div>");
    $("*[data-content-field='excerpt']").append ($infoEmail);

Однако яЯ обнаружил, что код не запускается при загрузке страницы и нуждается в обновлении для работы.Я не знаю, так ли это, потому что он не может загрузить информацию DOM для создания ссылки или что происходит

Я пробовал document.ready и pageinit или pagecreate, но, похоже, это не такхотите запустить до тех пор, пока информация не будет загружена полностью.

Есть ли способ запустить этот прогон во время загрузки страницы или запустить одно обновление, чтобы посетитель не увидел ошибки в информации?

ETA: пример страницы здесь

Это через SquareSpace, поэтому у меня нет особых возможностей редактирования со структурой html

ETA2: я обнаружил проблему, это былонастройка загрузчика ajax.Просто нужно было отключить

1 Ответ

0 голосов
/ 05 декабря 2018

Нет необходимости использовать $() для $infoEmail variable, поэтому попробуйте следующую концепцию

var $emailsubject = $("h1.ProductItem-details-title").html();
    var $infoEmail ="<div><a href='mailto:studio@ehgprop.co.uk?subject=RE: Prop Enquiry - "+$emailsubject+"'>Click here to enquire</a></div>";
    $("*[data-content-field='excerpt']").append ($infoEmail);
...