jQuery 在 ajax 调用完成之前将 CSS 添加到元素?

标签 jquery css

我正在使用 jquery 将由 javascript 打印的购物车发送到将创建 PDF 的 PHP 脚本。

我的问题是购物车在发送时没有附加任何样式,所以它看起来像这样:http://u31830.shellit.eu/kauppa/kuitit/kuitti63.pdf

我想简单地在一些元素上做一个 display:none 并在左边 float 一些元素,这样它看起来会很好。我知道这可以用 Attr() 来完成,但我不知道如何使用它。

这是我的 ajax 调用:

$(document).ready(function() {
$(function() {
    $(".submit").click(function() {
      var data = $('#yhteystiedot').serializeArray();
      //styling here?
      data.push( { name: 'cartContent', value: $('#emailedcart').html()}); // Read the cart, and send it to script
      //alert (data);return false;
     $.ajax({
    type: "POST",
    data: data,
    url: "order.php",
    dataType: "html",
    error: function(){ alert("Jotakin meni pahasti pieleen! Yritä uudelleen?");
 },
    success: function() {
 alert("Onnistui");
        }


  });
  return false;

    });
  });        
});

购物车在浏览器控制台上看起来像这样:

<div class="simpleCart_items" id="emailedcart">
    <div>
        <div class="headerRow">
            <div class="item-name">Tuote</div>
            <div class="item-quantity">Määrä</div>
            <div class="item-price">Hinta</div>
            <div class="item-total">Yhteensä</div>
            <div class="item-remove"></div>
        </div>
        <div class="itemRow row-0 odd" id="cartItem_SCI-1">
            <div class="item-name">Teipit (Valkoinen hiilikuitu)</div>
            <div class="item-quantity">
                <input type="text" value="1" class="simpleCart_input">
            </div>
            <div class="item-price">48.00€</div>
            <div class="item-total">48.00€</div>
            <div class="item-remove"><a href="javascript:;" class="simpleCart_remove">Remove</a>
            </div>
        </div>
    </div>
</div>

我想在将以下 css 发送到 PHP 脚本之前将其添加到元素中

.item-remove{display:none;}
.headerRow div{float:left;}
.itemRow div{float:left;}

但是如何呢?

最佳答案

$(document).ready(function() {
  $(function() {
    $(".submit").click(function() {

      //do the CSS here.
      $('.item-remove').css({'display':'none'});
      $('.headerRow div').css({'float':'left'});
      $('.itemRow div').css({'float':'left'});

      var data = $('#yhteystiedot').serializeArray();
      //styling here?
      data.push( { name: 'cartContent', value: $('#emailedcart').html()}); // Read the cart, and send it to script
      //alert (data);return false;
     $.ajax({
    type: "POST",
    data: data,
    url: "order.php",
    dataType: "html",
    error: function(){ alert("Jotakin meni pahasti pieleen! Yritä uudelleen?");
 },
    success: function() {
 alert("Onnistui");
        }


  });
  return false;

    });
  });        
});

我假设您希望在单击之后但在 AJAX 之前更新这些 CSS 样式。正确的?否则,只需将那些 CSS jquery 行放在 $(".submit").click(function() {

关于jQuery 在 ajax 调用完成之前将 CSS 添加到元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12321934/

相关文章:

java - 如何更改普通 Pane 的样式(不是布局 Pane )

html - CSS WTF : form button not horizontally aligned (screwed up in FF but OK in Chrome)

javascript - 无需 javascript,根据另一个元素的样式更改元素样式

javascript - HTML5 是否可以在所有移动浏览器中完全发挥作用?

c# - 在不丢失当前页面/过滤器的情况下刷新 MVC3/MVC4 WebGrid

javascript - jQuery 切换列表菜单问题

javascript - jQuery 单击具有 ajax 回调的按钮不起作用

html - 使用 css 重叠 HTML 元素

javascript + css div折叠效果

javascript - Javascript/jQuery 中的长任务