我已经阅读了有关同一主题的其他问题,我觉得我明白该做什么,但它没有用。
出于必要,我有两个域名。在一个特定页面上,我尝试更新链接,以便指向第二个域。如果我只是遍历每一个' a'元素,但如果我尝试匹配特定链接则不会。我离开了我的第一次尝试注释,我不确定哪种方法更好。
如果该函数位于该特定页面上,但来自其他国家/地区,则会调用此函数。我无法看到我做错了什么。
我认为this.href应该获得完整的,合格的URL,但它似乎并没有这样做。
function updateLinksToUSAstore() {
$('a[href*="manitobahdev.myshopify.com"]').each(function() {
// $(this).attr('href', $(this).attr('href').replace('manitobahdev.myshopify.com', 'manitobahdev-us.myshopify.com'));
this.href = this.href.replace('manitobahdev', 'manitobahdev-us');
});
var CountryName = localStorage.getItem('CountryName');
// Change currently selected country text
$('#country-label, #country-label-mobile').text(CountryName);
}
答案 0 :(得分:0)
试试这样:
var href = null;
$("a").each(function()
{
href = $(this).attr("href");
if(href.contains("manitobahdev.myshopify.com"))
{
$(this).attr("href", href.replace("manitobahdev.myshopify.com", "manitobahdev-us.myshopify.com"));
}
});
我现在在手机上,所以我无法对此进行测试。对不起,如果它不起作用。 另外,我真的不明白为什么你只想将manitobahdev部分编辑为manitobahdev-us,因为两者都以myshopify.com结尾
答案 1 :(得分:0)
可能会帮助你。
//get all selector
var celem=jQuery('a[href*="manitobahdev.myshopify.com"]');
for(var i=0;i<celem.length;i++){
console.log('====== BEFORE ====');
//get each href of selector
var ele=jQuery(celem[i]).prop('href');
console.log(ele);
jQuery(celem[i]).prop('href',ele.replace('manitobahdev','manitobahdev-us'));
console.log('====== AFTER ===');
ele=jQuery(celem[i]).prop('href');
console.log(ele);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id='test1' href="manitobahdev.myshopify.com/ABC">Test 1</a>
<a id='test2' href="http://manitobahdev.myshopify.com/ZAXC">Test 2</a>
<a id='test3' href="manitobahdev.myshopify.com/USER/1">Test 3</a>
&#13;