0

首先,我想要实现的是替换 bigcommerce 结帐页面上的字符串。我正在尝试在第 5 步(即订单确认)下的结帐页面中替换付款方式名称。我不能简单地更改 html 文件中的文本字符串,因为它都是通过快速结帐功能从 bigcommerce 服务器加载的。

到目前为止我所做的是使用 css :after 技巧来替换它。但是它与 IE 不兼容,因为它是一个输入字段。所以剩下的唯一选择是使用javascript。

这是我正在使用的当前编码:

$(document).ready(function() {
$("a.ChangeLink, input[type='submit']") .live("click", function() {

$('label.ProviderNamecheckout_eway:contains("eWay Australia")').text('Credit Card');

});
});

当我单击第一部分的第一个输入按钮时,它当前工作正常。还有右边的修改链接。但它不适用于我最需要的部分。在运输选择部分,我想在单击继续按钮时触发此替换功能。但它不起作用。

请帮忙!!!

更新:对代码做了一些更改,现在至少点击事件适用于新的附加元素。但是替换仍然不起作用。我认为原因是在附加元素完全加载之前替换触发器。因此它无法找到正确的元素 ID。

更新:问题解决了,最后不是通过javascript。刚刚找到了一种在后端更改付款名称的方法。

4

1 回答 1

1

click应该在 ready 中定义,并且您已经定义了ready没有意义的 click 内部,ready将在页面加载结束时调用,并且您正在尝试在 click 事件触发时调用 ready

$(document).ready(function() {
    $("a.ChangeLink, input") .click(function() {
        alert("Handler for .click() called.");    

        //$('label.ProviderNamecheckout_eway').replaceWith('Credit Card');
        $('label.ProviderNamecheckout_eway').text('Credit Card'); 
        // or $('label.ProviderNamecheckout_eway').html('Credit Card');
    });
});

最后得到你的问题,你必须在 IE 模式下与你一起玩css删除这两个 css 然后脚本将像目前一样完美运行,但它不显示文本,因为你已经使用过visibility: hidden; ,所以如果条件不在 IE 中,请移动这些 css

.ProviderNamecheckout_eway {
visibility: hidden;
}
.ProviderNamecheckout_eway:after {
content: "Credit Card";
position: relative;
right: 106px;
visibility: visible;
display: inline;
}
于 2013-07-04T08:01:01.967 回答