如何更改div中的可见按钮?

时间:2017-03-09 07:41:04

标签: javascript jquery html css selector

大家好我有一些代码:

<div class="a">
    <div class="btn-group">
        <button class="btn make-editable" data-name="GlobalCorrelationMatrix" data-action="edit-row">Edit</button>
        <button class="btn make-approve" data-name="GlobalCorrelationMatrix" data-action="approve-row">Save</button>
        <button class="btn make-close" data-name="GlobalCorrelationMatrix" data-action="discard-row">Close</button>

    </div>
</div>
<div class="b">
    <div class="btn-group">
        <button class="btn make-editable" data-name="GlobalCorrelationMatrix" data-action="edit-row">Edit</button>
        <button class="btn make-approve" data-name="GlobalCorrelationMatrix" data-action="approve-row">Save</button>
        <button class="btn make-close" data-name="GlobalCorrelationMatrix" data-action="discard-row">Close</button>

    </div>
</div>

当我使用$(“button.btn.approve”)。addClass(“disabled”); div a和div b中的按钮被禁用。如何禁用按钮 - 仅从div a?

批准

5 个答案:

答案 0 :(得分:3)

如果单击该按钮,您只想将类添加到同一组中的按钮?

如果是这样的话:

$('.btn-group .btn').click(function(){
    $(this).parent().children('.btn').addClass('disabled');
});
.disabled {
  color: #bbb;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="a">
    <div class="btn-group">
        <button class="btn make-editable" data-name="GlobalCorrelationMatrix" data-action="edit-row">Edit</button>
        <button class="btn make-approve" data-name="GlobalCorrelationMatrix" data-action="approve-row">Save</button>
        <button class="btn make-close" data-name="GlobalCorrelationMatrix" data-action="discard-row">Close</button>

    </div>
</div>
<div class="b">
    <div class="btn-group">
        <button class="btn make-editable" data-name="GlobalCorrelationMatrix" data-action="edit-row">Edit</button>
        <button class="btn make-approve" data-name="GlobalCorrelationMatrix" data-action="approve-row">Save</button>
        <button class="btn make-close" data-name="GlobalCorrelationMatrix" data-action="discard-row">Close</button>

    </div>
</div>

答案 1 :(得分:2)

通过更新选择器,仅在div中选择具有类a的按钮。

$("div.a button.btn.approve").addClass("disabled");

答案 2 :(得分:2)

您只需要更改选择器,并使其更加通用,以包含您的.a类:

$(".a > .btn-group > button.btn.approve").addClass("disabled");`

答案 3 :(得分:1)

尝试这样的事情:

 $(".a button.btn.approve").addClass("disabled");

答案 4 :(得分:-1)

.b>.button.btn.approve

您需要定义确切的元素,因为

button.btn.approve

匹配所有按钮,您也可以添加其他类或ID