0

我有一个功能,可以将产品添加到购物篮,然后在页面主要内容区域的顶部显示成功消息。我已经对 onsuccess 函数进行了 ajax 调用。但是,我无法将成功消息插入到页面上的 id 为 breadcrumbBar 的 div 之前。这是我的 onSuccess 函数:

 onSuccess: function(transport) {

    if(transport.responseText == "oos") {

        alert("We're sorry, this product is out of stock. If the product has different options, why not try a diffrent combination?");

    }
    else
    {

        container.update(button);

        successMessage = document.createElement('div');
        successMessage.id = "basketAddSuccess";
        successMessage.insert('<p>Test</p>');
        alert($('breadcrumbBar'));
        document.body.insertBefore(successMessage, $('breadcrumbBar'));

    }

}

这是为我的内容开始生成 html 的 php:

<div id="content" style="overflow: visible;">
    <section role="main">
        <div class="breadcrumbs floatLeft" id="breadcrumbBar">
            <p class="floatLeft"><a href="/products/category/<?php echo $product->parent_cat_url."/".$product->cat_url."/1"; ?>" target="_self"><?php echo $product->cat_name; ?></a>&nbsp;&gt;&nbsp;<span class="green" style="font-weight: bold;"><?php echo $product->prod_title; ?></span></p>
            <?php genSaleIcon($product->sale); ?>
        </div>

有任何想法吗?

4

1 回答 1

2

insertBefore必须在父节点上执行,在您的情况下,在“主”部分。

$('breadcrumbBar').parentNode.insertBefore(successMessage, $('breadcrumbBar'))
于 2012-08-09T13:02:06.367 回答