使用javascript / prototype / script.acuo.us在另一个div之前插入div

时间:2012-08-09 13:00:09

标签: javascript ajax prototypejs scriptaculous

我有一个功能,可以将产品添加到购物篮,然后在页面主要内容区域的顶部显示成功消息。我已经在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>

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

$('breadcrumbBar').parentNode.insertBefore(successMessage, $('breadcrumbBar'))