使用.append& .load将另一页的一部分加载到目标页面

时间:2017-07-17 06:17:44

标签: jquery ajax append load squarespace

我正在使用Squarespace并尝试使用.append.load来首先创建一个空div(因此.append)和然后插入我的简报div它的内容从我的网站的“母亲”页面进入我的网站的许多其他页面(必须使用JQuery,而不是PHP)。这样我只需要编辑母元素,然后将更改反映在其他页面中。 Squarespace在这些方面没有提供任何帮助,我在他们的问题论坛中也找不到任何东西。

以下是我尝试使用的代码,方法是按照我在JQuery APIload() but append data instead of replace和stackoverflow问题JQuery use .load() to append data instead of replace找到的示例,但我一定做错了:

简单的JQuery

$(".content").first().before("<div id='newsletter-section'>Newsletter Signup</div>");
// the above is to create the target div
$("#newsletter-section").load("example.com/newsletter .content");

的Ajax

$(".content").first().before("<div id='newsletter-section'>Newsletter Signup</div>");
// the above is to create the target div
$.ajax({
    url: 'example.com/newsletter',
    dataType: 'html',
    success: function(html) {
        var div = $('.content', $(html)).addClass('done');
        $('#newsletter-section').html(div);
    }
});

我尝试过使用.get方法:

$(".content").first().before("<div id='newsletter-section'>Newsletter Signup</div>");
// the above is to create the target div
$.get("https://www.ikingdesigns.com/newsletter",function(data) {
    var newsletter = $(data).filter(".content");
    $("#newsletter-section").append(newsletter);
});

并在.load中使用.append

$('.content').append($('<div id="newsletter-section">Newsletter Signup</div>').load('example.com/newsletter .content'));

我是否需要在我的网站上加载一个额外的脚本才能运行? 这是一个帮助

的小提琴

任何帮助将不胜感激:) 提前致谢

1 个答案:

答案 0 :(得分:1)

这样的事情会起作用:

从目标部分内的网址加载简报,然后通过SS的生命周期方法进行回调初始化。

$(".content").first().before("<div id='newsletter-section'>Newsletter Signup</div>");

$('#newsletter-section').load('https://www.ikingdesigns.com/newsletter .newsletter-block', function(){
  var block = Y.one('.newsletter-block');
  window.Squarespace.initializeNewsletterBlock(block);
});