我想更改src属性中url的部分。这将通过单击功能调用。这可能会更改类似按钮的语言而不刷新页面,以及之前选择的其他语言。
这很有效,但由于有多种语言,它只能运行一次;当基地"状态" hu_HU(匈牙利语):
$('.fb-like').attr('src', function(i, src) {
return src.replace("hu_HU","ro_RO");
});
我根据此问题中的解决方案更改了代码以完成目标:JQuery: how to replace all between certain characters?但没有任何成功:
$('.fb-like').attr('src', function(i, src) {
return src.replace(/locale\=.+?\&/g,"locale="+ro_RO+"&");
});
我错过了什么?任何帮助,将不胜感激!先感谢您!
答案 0 :(得分:2)
现在,您打算更改iframe
的来源,因此我们不能再认为它是window.location.href
。所以,我相信该功能的修改版本应该可以解决您的问题:
function setGetParameter(paramName, paramValue, url)
{
var url = !!url ? url : window.location.href;
if (url.indexOf(paramName + "=") >= 0)
{
var prefix = url.substring(0, url.indexOf(paramName));
var suffix = url.substring(url.indexOf(paramName));
suffix = suffix.substring(suffix.indexOf("=") + 1);
suffix = (suffix.indexOf("&") >= 0) ? suffix.substring(suffix.indexOf("&")) : "";
url = prefix + paramName + "=" + paramValue + suffix;
}
else
{
if (url.indexOf("?") < 0)
url += "?" + paramName + "=" + paramValue;
else
url += "&" + paramName + "=" + paramValue;
}
return url;
}
你这样称呼它:
$('.fb-like').attr('src', setGetParameter("locale", "ro_RO", $('.fb-like').attr('src')));
结果是爱情大师成功改变了locale
。