2016-05-09 32 views
0

我有這樣的代碼:了變化數據的價值和.attr(均未能

<li> 
    <a href="#" id="bca"> 
     <img width="60" height="35" class="brand img-responsive" alt="logo" 
     src="view/backoffice/assets/img/form-wizard/bca.png" 
     data-src-retina="view/backoffice/assets/img/form-wizard/[email protected]"> 
    </a> 
</li> 

,我有這個jQuery:

$("#bri").click(function() { 
    event.preventDefault(); 
    $("#bca").children().attr("src","view/backoffice/assets/img/form-wizard/bca-grey.png"); 
    $("#bca").children().attr("data-src-retina","view/backoffice/assets/img/form-wizard/[email protected]"); 
}); 

爲什麼我不能改變data-src-retina價值使用jQuery?我試圖用另一種方法,但也失敗了:

$("#bri").click(function() { 
    event.preventDefault(); 
    $("#bca").children().attr("src","view/backoffice/assets/img/form-wizard/bca-grey.png"); 
    $("#bca").children().data("src-retina","view/backoffice/assets/img/form-wizard/[email protected]"); 
}); 

我在這裏做錯了什麼?謝謝。

+1

你嘗試過不使用diferent文件名沒有'@'? –

+1

它確實有效......但是當你的javascript應該是'#bca'時,你有'#bri'選擇器。 – aaronofleonard

+0

@Amleonard:這是'#bri',因爲我在這裏粘貼的是真實代碼的縮短版本 –

回答

1

看來你的代碼工作正常:

$(document).ready(function() { 
    $("#bri").click(function() { 
    $("#bca").children().each(function() { 
     alert("Old data-src-retina:" + $(this).attr("data-src-retina")); 
    }); 
    event.preventDefault(); 
    $("#bca").children().attr("src", "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRE9BlrARaNurkqQCh1Y-CeyvAsqpFYVVUwIe_TpPhhJLglGK0aRHZuZw"); 
    $("#bca").children().attr("data-src-retina", "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRUc0zJ7TAI81eAL8sitUl81v409oihvi3fRfnnbyzTbhYAJC33"); 
    $("#bca").children().each(function() { 
     alert("New data-src-retina:" + $(this).attr("data-src-retina")); 
    }); 
    }); 
}); 

Plunker:https://plnkr.co/edit/mlyous7dosRl9IN9ds7U