【问题标题】:jQuery cloning or moving ajax info from another pagejQuery 克隆或从另一个页面移动 ajax 信息
【发布时间】:2011-10-04 18:51:17
【问题描述】:

我正在尝试使用 jQuery 和 ajax 将信息从一个页面克隆(或移动)到另一个页面。这段代码目前对我没有任何作用,我只需要使用:

本质上,它正在检查 id Deal_1 的页面。如果找到我想移动(或克隆)这三个 正在检查的页面上的 divdeal-product-name deal-saving-stock-detailsdeal-end 到我当前所在的页面。 p>

$.ajax({
url: "http://tsqja.deznp.servertrust.com/dealoftheday.asp",
context: document.body,
dataType: 'html',
success: function(data){      
        if ($(data).find('#Deal_1').length >= 1) {                          
            $('#dealofdaytop').after($('.deal-product-name')); 
            $('#dealdayprice').after($('.deal-saving-stock-details'));
            $('#dealdayprice').after($('.deal-end'));      
        }
});  

这是在当前页面上,我希望将 div 移动到:

<div class="deal" id="dealday">
  <div id="dealofdaytop" align="center"><img style="opacity:0.8;filter:alpha(opacity=80)" src="http://www.mysite.com/v/newsite/dealofday/dealofdaytop.png"> </div>
  <div id="dealdayprice" style="height: 60px;"></div>  
  <div id="dealdaybg"></div>
</div>

【问题讨论】:

  • 你不应该使用 .append() 而不是 .after() 吗?

标签: jquery ajax append clone


【解决方案1】:

我猜应该是这样的;

if ($(data).find('#Deal_1').length >= 1) {                                      
    $('#dealofdaytop').after($('.deal-product-name', data));
    $('#dealdayprice').after($('.deal-saving-stock-details', data));
    $('#dealdayprice').after($('.deal-end', data));              
}

工作示例代码:

$(document).ready(function () {
    $.ajax({
        url: "http://localhost/WebApplication1/WebForm2.aspx",
        context: document.body,
        success: function (data) {
            $(".dummy_container").after($(".deal-product-name", data));
        }
    });
});

WebForm1.aspx 的内容

<div class="dummy_container"></div>

WebForm2.aspx 的内容

<div id="Deal_1">
    <div class="deal-product-name">
        Test data
    </div>
</div>

希望这会有所帮助。

【讨论】:

  • 还是没有运气。我需要 POST 请求还是什么?
  • .deal-product-name 是一个属于 dealoftheday.asp 中某个元素的类,对吧?
  • 没错。这些类都在 dealoftheday.asp 上,我试图将其移动(或克隆)到另一个页面。
  • 那你只是错过了一些东西。上面的代码对我有用。 .deal-product-name 可以是#deal-product-name 吗?
  • 你知道你的权利,我收到了回复,其中包含我网站上的相关链接。我会做更多的调试,但我确定就是这样,谢谢。
【解决方案2】:

在您的成功处理程序中,您尝试直接在返回的数据上使用 jQuery DOM 函数,这里只是一个字符串。据我所知,你不能这样做。如果您的 ajax 调用的结果是 HTML,并且您想将其插入到您的页面中,那么您可以在其上使用 jQuery DOM 函数,或者您可以直接在字符串上使用正则表达式函数。

在我看来,这个问题通常看起来像您可能希望响应是 JSON,响应的不同部分在不同的返回对象中,然后您可以使用 javascript 访问这些对象,获取您正在寻找的结果并使用它来修改页面的适当部分。

【讨论】:

    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多