Как использовать .each jQuery для установки идентификаторов моего элемента с атрибутом другого элемента - PullRequest
0 голосов
/ 29 мая 2018

У меня есть веб-страница с атрибутом имени для тегов подписи.Я хочу иметь возможность установить идентификаторы каждой таблицы с атрибутом имени заголовка.

До:

<table>
<caption name="director">
...

<table>
<caption name="agent">
...

После:

<table id="director">
<caption name="director">
...

<table id="agent">
<caption name="agent">
...

ПокаУ меня есть этот jQuery, чтобы получить имя атрибута и попытаться установить идентификаторы:

$('caption').each(function() {
    $getNameAttr = $(this).attr('name');
    $('table').attr('id',$getNameAttr);  
});

Но это не работает, чтобы установить его в качестве идентификатора таблиц.

Любые идеи

Ответы [ 3 ]

0 голосов
/ 29 мая 2018

Можно использовать attr(attributeName, function) для циклического перебора всех таблиц и получения идентификатора из элемента заголовка конкретного экземпляра

$('table').attr('id', function(){
   return $(this).find('caption').attr('name')
})
0 голосов
/ 29 мая 2018

Используйте class вместо id, Id должен быть уникальным на странице.

  $('table').attr('id', function(){
       return $(this).find('caption').attr('name')
    })
0 голосов
/ 29 мая 2018

вы можете использовать функцию closest () , чтобы получить первого родителя таблицы вашего тега captions, как показано ниже:

$('caption').each(function() {
    $getNameAttr = $(this).attr('name');
    $(this).closest('table').attr('id',$getNameAttr);
});
...