Назначение идентификатора нескольким "элементам размещения" - PullRequest
1 голос
/ 11 августа 2010

У меня есть JavaScript, содержащий ввод текста и некоторые "заполнители". Скрипт использует функцию для отображения значения, введенного при вводе текста в некоторых заполнителях. Проблема в том, что если мне нужно назначить идентификатор для каждого заполнителя, это займет много времени - я думаю, что избегание дублирования и повторения называется DRY

Итак, мой вопрос: как я могу (используя javascript) «автоматически» назначить все теги <span> внутри определенного тега <div> с идентификаторами, содержащими строку, которая одинакова во всех диапазонах, и целое число который отличается FX:

<div id="foo1"> //assign inside this div
<span id="placeholder1"></span>
<span id="placeholder2"></span>
<span id="placeholder3"></span>
</div>
<span id="foo2"></span> //this is not assigned, it is outside the "foo1"-<div>

Я уверен, что это можно сделать в методе DOM? Я не уверен, но так:

window.onload = function(){
    var foo = new Array();
}

и так далее :) Используемый мной сценарий можно увидеть в этом посте , и в этом посте вы также можете увидеть, почему я не использую document.getElementsByName("foo") для выбора нескольких элементы и почему я прошу рекомендации сделать это вместо этого:)

1 Ответ

2 голосов
/ 11 августа 2010
function nameElements(div_name, prefix)
{
    var div_elem = document.getElementById(div_name);
    var spans = div_elem.getElementsByTagName('span');
    for (var i = 0; i < spans.length; ++i)
    {
        spans[i].id = prefix + (i+1);
    }
}

Не уверен, что "for (var i ..." работает во всех браузерах, но остальные должны работать в любом DOM-совместимом браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...