2

我已经尝试了在这个站点上找到的几种方法来让我的脚本更改“+”和“-”展开/折叠按钮图像,但我还没有找到合适的修复/方法。

目前,我使用纯JS如下:

function swapimg(id) {
if(document.getElementById(id).src='images/bullet_expand.png')
{document.getElementById(id).src='images/bullet_expanded.png'}
else {document.getElementById(id).src='images/bullet_expand.png'}
}

和按钮:

<a href="javascript:void();" onclick="toggle_visibility('item1'); swapimg('phb');">
<img src="images/bullet_expand.png" border="0" style="padding-right: 5px;" id="phb" alt="">
</a>

第一次点击确实改变了图像,但第二次点击什么也没做。我感觉使用“getElementById”可能不是标准调用,所以使用 JQuery 也是我会考虑的一个选项。

4

1 回答 1

3

而不是比较你正在分配的价值,你需要==而不是=

而不是这个:

document.getElementById(id).src='images/bullet_expand.png'

利用

document.getElementById(id).src=='images/bullet_expand.png'

jQuery:

if(jQuery('#'+id).attr('src') == 'images/bullet_expand.png') {
   jQuery('#'+id).attr('src','images/bullet_expanded.png');
} else {
   jQuery('#'+id).attr('src','images/bullet_expand.png');
}

Javascript:

if(document.getElementById(id).src.indexOf('/images/bullet_expand.png') > 0) {
    document.getElementById(id).src='images/bullet_expanded.png';
}
else {
    document.getElementById(id).src='images/bullet_expand.png';
}
于 2012-06-01T17:14:36.703 回答