获取位置后的属性字符串

时间:2015-03-10 22:13:03

标签: jquery attributes

我有一堆带有数据属性的选择器,比如这个

<span class="btn-input" data-input-goto="..."></span>
<span class="btn-input" data-input-suggest="..."></span>
<span class="btn-input" data-input-show="..."></span>

我希望在数据输入&#39;之后得到字符串。所以我可以用它来执行一些代码。

这是我的所作所为,但没有成功:

$(".btn-input").click(function(event) {

    var action = $('[attr^="data-input"]', this).substr(11);

});

我收到错误:

Uncaught TypeError: undefined is not a function

1 个答案:

答案 0 :(得分:1)

如果您想获取数据属性的名称,可以尝试使用jsFiddle

$(".btn-input").click(function(event) {
    var action = Object.keys($(this).data())[0] // inputSuggest
    .toLowerCase() // inputsuggest
    .replace('input', ''); // suggest
});

更新:对于有多个属性的工作,我可以建议jsFiddle以下的代码

$(".btn-input").click(function(event) {
    var actions = Object.keys($(this).data());

    var action = actions.filter(function(item) {
      return /^input/.test(item);
    })[0] || '';

    action = action.toLowerCase().replace('input', '');

});