我有一堆带有数据属性的选择器,比如这个
<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
答案 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', '');
});