2012-01-11 2 views
1

初めてここに掲示するが、何もまだ、可能な類似したタイトルのカップルに目を通していない.. :(jquery attr()の値が置き換えられていませんか?

jQueryの/ JavaScriptを使用して最新情報を取得しようとしています。まあ、私の問題は、私は私を変更したいということですアンカー要素のhref属性の値は、文書の幅が1022px以下であるかどうかによって決まります。hrefの値は正常に通知できましたが、hrefの文字列は更新されません。任意の助けをいただければ幸いです。

if(document.width < 1022) 
{ 
    var allLinks = $('.filtered_portfolio li a'); 
    allLinks.each(function(){ 
     var thisLink = $(this); 
     anchorLinkUrl = this 
     alert (anchorLinkUrl); 

     if(anchorLinkUrl.indexOf('[iframe]=true&lightbox[width]=800&lightbox[height]=540') != -1){ 
      anchorLinkUrl.replace('[iframe]=true&lightbox[width]=800&lightbox[height]=540','donkey'); 
      //alert('hi'); 
     } 
    }); 
}  

答えて

1

あなたanchorLinkUrl変数はDOM要素だけでなく、hrefの値が割り当てられます。リンクのhrefを更新するには、uが(これを試してみてくださいntested):

if(document.width < 1022) 
     { 
      $('.filtered_portfolio li a').each(function(){ 
       this.href = this.href.replace('[iframe]=true&lightbox[width]=800&lightbox[height]=540','donkey'); 
       }); 
     } 
0

Hereあなたが/取得選択した要素の属性を設定するためにjQueryの.attr()機能を使用する方法の例は、これが役に立てば幸いです。

$('a').toggle(function(e) { 
    e.preventDefault(); 
    // setting an attribute 
    $(this).attr('href', 'www.yahoo.com'); 
},function(e) { 
    e.preventDefault(); 
    // setting an attribute 
    $(this).attr('href', 'www.google.com'); 
}).click(function(e) { 
    e.preventDefault(); 
    // getting an attribute 
    $('#foo').text($(this).attr('href')); 
}); 
関連する問題