我想在标签中获取属性值(data-resource-id)。但是此标签没有ID或类。单击时,我只需要显示提示。这是我的代码:
<table>
<tbody>
<div class="x">
<tr data-resource-id="first"> //will show alert "first" when clicked
<tr data-resource-input="second">//show nothing when clicked
</div>
<div class="y">
<tr data-resource-id="first"> //show nothing when clicked
</div>
这是我的javascript代码:
$('.x').on('click','????',function(){
var resourceid = $(this).attr('data-resource-id');
alert(resourceid);
})
我不知道在'????'中写什么代码。我应该写什么代码?
答案 0 :(得分:3)
此代码的更新版本可能对您有用
$(document).on('click', '.x [data-resource-id]', function() {
const resourceId = $(this).attr('data-resource-id');
alert(resourceId);
})
请注意,您的原始代码中有一个名为resource-id
的变量-但在JavaScript标识符中连字符是非法的。因此,您必须将该变量名称更正为resourceId
'????'
变成了'.x [data-resource-id]'
,因此可以处理与选择器匹配的任何内容的点击
var
成为const
的良好衡量标准
更正了制表符的一致性
答案 1 :(得分:1)
获取所有具有您的属性和值的标签:
'tr[data-resource-id="first"]'
仅获取与您的属性和值匹配的第一个标签:
'tr[data-resource-id="first"]:first'
答案 2 :(得分:0)
您可以将data属性用作选择器。如下
$('.x').on('click','tr[data-resource-id="first"]:first',function(){
var resourceid = $(this).attr('data-resource-id');
alert(resourceid);
})