如何选择要在jquery函数中使用的数据状态?

时间:2015-12-11 22:26:24

标签: javascript jquery

我正在尝试选择某些具有data-state =“start”的按钮,这样当用户点击按钮时,该函数会从数组中随机选择。我只是不知道如何选择我的数据状态......以下是一些代码:

$("").on("click", function() {
    var randomPick = Math.floor(Math.random() * comPicks.length);
    alert(randomPick);
  });

我正在尝试使用data-state =“weapon”...

选择按钮

<button class="btn btn-info btn-block" data-state="weapon">ROCK</button>

4 个答案:

答案 0 :(得分:0)

如果您尝试选择将data-state属性设置为特定值的元素,则可以使用此插件:

$.fn.filterByData = function(prop, val) {
    return this.filter(function() {
        return $(this).data(prop) == val;
    });
};

现在,您可以使用$('button').filterByData('state', 'start')获取具有button属性的所有data-state="start"的列表。

如果你想要的只是获得函数中data-state属性的实际值,你可以使用$(this).data('state')

答案 1 :(得分:0)

一种方法是在查询中使用data-type

&#13;
&#13;
$("input[data-type='start']").on("click", function() {
    var randomPick = 10;//changed to show example
    alert(randomPick);
});
$("button[data-type='start']").on("click", function() {
    var randomPick = 20;//changed to show example
    alert(randomPick);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='button' data-type='start' value='Click me'/>
<button data-type='start'>Button</button>
<input type='button' value='Does nothing'/>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

$(document).on("click", "[data-state=start]", function() {
  // do stuff
  var randomPick = Math.floor(Math.random() * comPicks.length);
})

答案 3 :(得分:0)

您可以按属性使用选择器:

$('body').on("click", "button[data-state='start']", function() {
     //Your code here
})

希望这有帮助。