按id更改可折叠标题内的文本或显示图像

Change text or show image within accordion header by id

本文关键字:文本 显示 显示图 图像 id 可折叠 标题      更新时间:2023-09-26

我有一个视图,其中包含一个项目列表模型。这些项目中的每一个都有一个ID,我将其嵌入H2标头中。关于该项的详细信息包含在标题下方的div中。在标题中,我有一个最初设置为显示的图像:none。我想在视图中使用jquery脚本,或者同时更改标题中的文本和/或使图像可见。

 <h2 id= 'header+@Model[i].ID' class="header" style="background-color:whitesmoke">@Model[i].Item.Name&nbsp 
                <img id="img+@Model[i].ID" src="~/Images/yes.gif" alt="" style="display:none" class="yescheck"/>
            </h2>
 <div>
     <table>
           // all the data
     </table>
     <button id="but+@Model[i].ID" onclick=CountComplete(); return false //...
 </div>

我试过这个:

 function CountComplete(but) {
    var id = but.id;
    id = id.substring(5);
    var div = "#div+" + id;
    $.ajax({
        type: 'POST',
        data: { id: id },
        url: '@Url.Action("CountComplete")',
        success: function (data) {
            var test = data;
            $("#accordion").accordion('option', 'active', false);
            var head = '#header+' + id;
            var $image = $(head).find('.yescheck');
            $image.show();
            $('img+' + id).show();
            $(head).innerHTML = 'CLOSED';
        }
    });
    return false;
}

有人知道怎么做吗?

解决方案非常简单:我没有使用加号"+",而是使用减号"-",JQ在查找元素时完全没有问题。我不知道为什么加号不起作用。