javascript - 显示/隐藏列表选择全部而不是单独选择

标签 javascript jquery html css show

我有以下代码,它根据被点击的按钮显示和隐藏元素:

HTML:

<div class="largeImage">
    <div class="uploadItem.NameContainer">
        <img src="thumbNail1.jpg" alt="thumbNail1.jpg"/>
    </div>
    <div class="galleryButtonContainer">
        <div class="editButton">
            <input type="button" value="Click to Rename" />
        </div>
        <div class="cancelRenameButton">
            <input type="button" value="Cancel Rename" />
        </div>
        <div class="renameButton" >
                <input type="submit" value="Rename" />
        </div>
        <div class="selectButton"><input type="button" id="select" value="Select" class="selectImagePath" /></div>
        <div class="deleteButton">
                <input type="submit" value="Delete" />
        </div>
    </div>
</div>

<div class="largeImage">
    <div class="uploadItem.NameContainer">
        <img src="thumbNail2.jpg" alt="thumbNail2.jpg"/>
    </div>
    <div class="galleryButtonContainer">
        <div class="editButton">
            <input type="button" value="Click to Rename" />
        </div>
        <div class="cancelRenameButton">
            <input type="button" value="Cancel Rename" />
        </div>
        <div class="renameButton" >
                <input type="submit" value="Rename" />
        </div>
        <div class="selectButton"><input type="button" id="select" value="Select" class="selectImagePath" /></div>
        <div class="deleteButton">
                <input type="submit" value="Delete" />
        </div>
    </div>
</div>

CSS:

.galleryButtonContainer .cancelRenameButton {display:none;}
.galleryButtonContainer .renameButton {display:none;}

JQUERY:

$(".editButton").click(function () {
    $(".renameButton,.cancelRenameButton").show();
    $(".editButton").hide();
});
$(".cancelRenameButton").click(function () {
    $(".renameButton,.cancelRenameButton").hide();
    $(".editButton").show();
});

我遇到的问题是我无法让按钮单独工作。我试过使用“this”但没有成功

最佳答案

您可以简单地使用 siblings(更少的函数调用!)结合 this 来遍历 DOM,然后只是切换它们(或保留 hideshow(如果您愿意)。

JSFiddle here

$(".editButton").click(function () {
    $(this).toggle().siblings(".renameButton,.cancelRenameButton").toggle();

});
$(".cancelRenameButton").click(function () {
    $(this).toggle().siblings(".renameButton,.cancelRenameButton").toggle();
});

关于javascript - 显示/隐藏列表选择全部而不是单独选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25689129/

相关文章:

javascript - 允许滚动到最后一个元素

javascript - html 中的 onmouser 图像

javascript - 有没有办法通过变量从对象中获取信息?

javascript - 滚动到特定点时删除 iframe

javascript - 修改 Odoo 讨论(邮件)

javascript - 在搜索框中的关闭按钮上使用 jquery 事件

javascript - 无法读取未定义的属性 'push'

javascript - HTML/JS 中的 iOS 风格滚动

html - 放大下拉菜单中的 div

在移动设备上查看时 HTML 边距压缩