我有一个网页,其中包含标题标记的name属性。我希望能够使用标题的name属性设置每个表的ID。
之前:
<table>
<caption name="director">
...
<table>
<caption name="agent">
...
之后:
<table id="director">
<caption name="director">
...
<table id="agent">
<caption name="agent">
...
到目前为止,我有这个jQuery来获取属性的名称并尝试设置id:
$('caption').each(function() {
$getNameAttr = $(this).attr('name');
$('table').attr('id',$getNameAttr);
});
但是将它设置为表的id不起作用。
有什么想法吗?
答案 0 :(得分:1)
可以使用attr(attributeName, function)
遍历所有表并从特定于实例的标题元素中提取id
$('table').attr('id', function(){
return $(this).find('caption').attr('name')
})
答案 1 :(得分:0)
您可以使用closest()函数获取captions
标记的第一个父级表格,如下所示:
$('caption').each(function() {
$getNameAttr = $(this).attr('name');
$(this).closest('table').attr('id',$getNameAttr);
});
答案 2 :(得分:0)
使用class而不是id,Id在页面中应该是唯一的。
$('table').attr('id', function(){
return $(this).find('caption').attr('name')
})