首先,我想要实现的是在bigcommerce结帐页面上替换字符串。我正在尝试在第5步下的结帐页面中替换付款方式名称,即订单确认。我不能简单地更改html文件中的文本字符串,因为它通过快速结帐功能从bigcommerce服务器加载。
到目前为止我所做的是使用css:在技巧之后替换它。但是它与IE不兼容,因为它是输入字段。所以剩下的唯一选择是使用javascript。
这是我正在使用的当前编码:
$(document).ready(function() {
$("a.ChangeLink, input[type='submit']") .live("click", function() {
$('label.ProviderNamecheckout_eway:contains("eWay Australia")').text('Credit Card');
});
});
当我点击第一部分的第一个输入按钮时,它当前工作正常。也是一直在右边的修改链接。但它并不是我最需要的部分。在运输选择部分,我想在单击继续按钮时触发此替换功能。但它不起作用。
请帮助!!!
更新:对代码进行了一些更改,现在至少click事件适用于新的附加元素。但仍然无法取代。我认为原因是在append元素完全加载之前的替换触发器。因此无法找到正确的元素ID。
更新:问题已解决,最终未通过javascript解决。刚刚找到了改变后端支付名称的方法。
答案 0 :(得分:1)
您的click
应该在准备好的内部定义,并且您已经在点击内部定义了ready
,这是没有意义的,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;
}