如何使用data- *和value属性查找特定按钮/元素

时间:2016-08-29 02:41:27

标签: javascript jquery html

我有两个动态生成的按钮:

<button type="button" data-btnTyp="btnOP" data-usrRole="3" data-reqID="24" class="btn btn-primary btn-xs" style="width: 75px" value="Start">Start</button>
<button type="button" data-btnTyp="btnOP" data-usrRole="3" data-reqID="24" class="btn btn-primary btn-xs" style="width: 75px" disabled="true" value="Complete">Complete</button>

这两个按钮具有相同的data-reqID但值不同。我基本上试图找到()具有data-reqID =“24”和value =“Complete”的按钮并启用按钮。 我是JQuery的新手 我尝试过这样的事情:

$("button[data-reqID='" + reqID+ "'][value=Complete]").attr('disabled', 'false');

但显然这在语法上是不正确的,因此似乎不起作用。

2 个答案:

答案 0 :(得分:1)

一些事情。如果要启用按钮,则需要将disabled设置为“false”。此外,您需要为disabled属性指定实际的布尔值。请勿提供"true" "false"的字符串值。

换句话说,它应该是“

.attr('disabled', false);

和NOT:

.attr('disabled', 'false');

完整示例:

var reqID = 24;
$('button[data-reqID="' + reqID+ '"][value="Complete"]').attr('disabled', false);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" data-btnTyp="btnOP" data-usrRole="3" data-reqID="24" class="btn btn-primary btn-xs" style="width: 75px" value="Start">Start</button>
<button type="button" data-btnTyp="btnOP" data-usrRole="3" data-reqID="24" class="btn btn-primary btn-xs" style="width: 75px" disabled="true" value="Complete">Complete</button>

答案 1 :(得分:1)

disabled是属性,而不是值或大小等属性。

它位于其他属性的类中,例如required或readonly,并且忽略了在HTML / JS中为它们分配的任何值。标签中存在或不存在是重要的。

要在Jquery中使用属性,必须使用.prop而不是.attr

即。 $("button[data-reqID='" + reqID+ "'][value=Complete]").prop('disabled', false);删除已停用的媒体资源

将第二个参数设置为true以添加属性。

在此处阅读更多内容:http://api.jquery.com/prop/