我有3个按钮 test1,test2,test3 ,它们属于DataList
,数据列表有10或20个原始数据。我想做的是在 test2 和 test3 上具有我要设置的属性disabled
删除 test2 的属性,方法是单击 test1 ,然后单击 test2 < / strong>删除 test3 的属性,然后在 test3 上单击属性,再次将其添加到所有按钮。删除并添加属性,但问题是因为单击 test1 时,按钮位于datalist
内,而所有
$(document).on('click', '#test1', function() {
document.getElementById('test2').removeAttribute('disabled');
})
$(document).on('click', '#test2', function() {
var elementHtml = document.querySelectorAll("[data-id]")[0].innerHTML;
alert(elementHtml);
addattribute(elementHtml);
});
function addattribute(test) {
var dataidd = test;
document.querySelectorAll("[data-idd]").addAttribute('disabled');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="test1" data-id="test1" style="width:100px;height:30px;">
test1
</button>
<button id="test2" disabled="true" data-id="test1" style="width:100px;height:30px;">
test2
</button>
<button id="test3" style="width:100px;height:30px;">
compare
</button>
原始按钮中的每个按钮都具有相同的data-id
,所以我尝试使用它,但是运气不好,我怎么能做到这一点
答案 0 :(得分:1)
您不能将id
用于按钮,因为DataList
中有多行(我认为raw是行的拼写错误),id
仅应用于一次。页。因此,您可以在此位置使用class
。
您可以在每行的div元素中添加id
或data-index
属性,以标识它们,但是此位置不需要此属性。请检查以下代码库。
$(document).on('click', '.btn-test1', function() {
$(this).siblings('.btn-test2').removeAttr('disabled');
})
$(document).on('click', '.btn-test2', function() {
$(this).siblings('.btn-test3').removeAttr('disabled');
});
$(document).on('click', '.btn-test3', function() {
$(this).siblings().attr('disabled', true);
});
<div data-index="0">
<button class="btn-test1" style="width:100px;height:30px;">
test1
</button>
<button class="btn-test2" disabled="true" style="width:100px;height:30px;">
test2
</button>
<button class="btn-test3" disabled="true" style="width:100px;height:30px;">
compare
</button>
</div>
<div data-index="1">
<button class="btn-test1" style="width:100px;height:30px;">
test1
</button>
<button class="btn-test2" disabled="true" style="width:100px;height:30px;">
test2
</button>
<button class="btn-test3" disabled="true" style="width:100px;height:30px;">
compare
</button>
</div>
...
<div data-index="9">
<button class="btn-test1" style="width:100px;height:30px;">
test1
</button>
<button class="btn-test2" disabled="true" style="width:100px;height:30px;">
test2
</button>
<button class="btn-test3" disabled="true" style="width:100px;height:30px;">
compare
</button>
</div>