更改图像 src 的展开/折叠功能(JQ 或 JS)

changing image src for expand/collapse function (JQ or JS)

本文关键字:功能 JQ JS 折叠 图像 src      更新时间:2023-09-26

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

目前,我正在使用纯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也是我会考虑的一个选项。

与其

比较你正在分配值,不如==而不是=

取而代之的是:

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

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

j查询:

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';
}