2012-10-22 59 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}' –