2016-06-27 21 views
-1

この同じトピックに関する他の質問を読んだところ、何をすべきか理解しているように感じますが、機能しません。hrefの一部をjQueryに置き換えます

私は、必要に応じて2つのドメインを持っています。特定の1つのページで、リンクを更新して2番目のドメインを指し示すようにしています。それは、すべての '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

'$( '[のhref * = "manitobahdev.myshopify.com"]')場合、私は働いていないことを確認する唯一の方法は'何も返しません。あなたは返す配列をログに記録しましたか? –

+2

'a'要素をいくつか表示できますか?私はちょうどクイック[jsfiddle](https://jsfiddle.net/kc6zLdpe/1/)を試して、それは正常に動作しています。あなたのJavaScriptをテスト中にキャッシュを使用していないことを確認してください。 – Wikiti

+0

@ Wikitiリンクは相対的なものだと思われますが、this.hrefで完全なURLを取得すべきではありませんか? – Patrick

答えて

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の一部を編集したいと思いますなぜmyshopify.com

+0

この例では、2つの異なるサブドメインであるため、2つ目のストアにリンクします。実際のライブURLは異なります。 – Patrick

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);        
 
          
 
          }
<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>

関連する問題