2012-10-22 77 views
2

在這裏,我有一些代碼:更改元素內部類的HTML?

<div class="starright"><img src="images/stars1.png" width="30" height="30" /></div> 
<div class="starright"><img src="images/stars1.png" width="30" height="30" /></div> 
<div class="starright"><img src="images/stars1.png" width="30" height="30" /></div> 
<div class="starright"><img src="images/stars1.png" width="30" height="30" /></div> 

我想改變裏面的onClick圖像,但只是在點擊的對象?不是全部?我有issuse,因爲這是在CSS類不是一個ID,這是可能的,也許像onClick這樣?

已編輯。這很好用:

function change(element){ 
element.innerHTML = "[new inner HMTL]"; 
} 

但是如何在第二次點擊時在第一張圖片上恢復它?

+0

對不起...... ** **是什麼?你能否試着重述一下你的問題,使其更清楚? – Chris

+0

我想更改div class「starright」中的圖像,但是當我點擊該圖像時? –

回答

1

試試這個代碼jQuery中:

$('.starright').click(function(){ 
    var path1 = "insert a path"; 
    var path2 = "insert another path"; 
    var src = $(this).find ('img').attr('src'); 
    if (src==path1){ 
     $(this).find ('img').attr('src',path2); 
    } 
    else{ 
     $(this).find ('img').attr('src',path1); 
    } 
}); 

是你想要什麼?

+2

這可能會工作很好,如果OP知道包括jQuery庫,並不介意僅包含一個庫,只是爲了這件事... – nnnnnn

+0

這將改變所有圖像,因爲它是一個類? –

+0

不改變你點擊的類內部的圖像 –

1

是的。你可以這樣做:

的Javascript:

function change(element){ 
element.innerHTML = "[new inner HMTL]"; 
} 

HTML:

<div class="starright" onclick="change(this);"><img src="images/stars1.png" width="30" height="30" /></div> 
+0

Txanks這工作很好,很好,txanks再次,是否有可能恢復此行動在另一次點擊,當圖像改變我想再次點擊它,並恢復到第一圖像? –

+0

是的。在刪除之前先將innerHTML存儲到變量中。然後在需要時將其放回原處。 –

+0

如何做到這一點?我有錯誤,當我想要做類,並在語法上,當我有id沒有問題:'function toggle2(showHideDiv,switchTextDiv){ \t var ele = document.getElementById(showHideDiv); \t var text = document.getElementById(switchTextDiv); \t if(ele.style.display ==「inline」){ \t \t ele.style.display =「none」; \t \t text.innerHTML =「」; \t} \t else { \t \t ele.style.display =「inline」; \t \t text.innerHTML =「」; \t}' –