Вы можете поместить все идентификаторы, которые вы хотите изменить, в массив и зациклить на нем
var array = ['theFirsttd', 'atd']
for (var item of array) {
$(`#${item}`).attr("id", "newId");
}
, следите за тем, чтобы у вас было одинаковое имя идентификатора на нескольких элементах (что не должно происходить, поскольку идентификатор должен быть уникальным). .
Надеюсь, это поможет.
Давайте сначала удостоверимся, что мы знаем, каков Шаблон "команда":
Шаблон "команда" инкапсулирует запрос как объект и дает ему известный открытый интерфейс. Шаблон "команда" гарантирует, что каждый объект получает свои собственные команды и обеспечивает разъединение между отправителем и получателем. Отправитель является объектом, который вызывает операцию, и получатель является объектом, который получает запрос и действует на него.
Вот пример для Вас. Существует много способов, которыми можно сделать это, но я собираюсь проявить интерфейсный основной подход для создания кода более тестируемым для Вас. Я не уверен, какой язык Вы предпочитаете, но я пишу это в C#.
Первый, создайте интерфейс, который описывает Команду.
public interface ICommand
{
void Execute();
}
119-секундный, создайте объекты команды, которые реализуют интерфейс команды.
public class CutCommand : ICommand
{
public void Execute()
{
// Put code you like to execute when the CutCommand.Execute method is called.
}
}
В-третьих, мы должны установить наш invoker или объект отправителя.
public class TextOperations
{
public void Invoke(ICommand command)
{
command.Execute();
}
}
Четвертый, создайте объект клиента, который будет использовать объект invoker/sender.
public class Client
{
static void Main()
{
TextOperations textOperations = new TextOperations();
textOperation.Invoke(new CutCommand());
}
}
я надеюсь, что можно взять этот пример и поместить его в использование для приложения, Вы продолжаете работать. Если Вы хотели бы больше разъяснения, просто сообщите мне.
Ваш на правильном пути. В основном у Вас будет модель, которая представляет документ. Вы будете использовать эту модель в CutCommand. Вы захотите изменить конструктора CutCommand для принятия информации, которую Вы хотите сократить. Тогда каждый раз скажите, что Кнопка Сокращения нажата, Вы вызываете новый CutCommand и передачу аргументов в конструкторе. Тогда используйте те аргументы в классе, когда Выполнить метод назовут.
Попробуйте открытый исходный код, редакторов.NET как SharpDevelop или Блокнот ++ .
существует (естественно) некоторое обсуждение Шаблона "команда" в http://c2.com/cgi/wiki?CommandPattern , который мог бы быть полезным.
QT использует Шаблон "команда" для объектов Строки меню/Панели инструментов.
QActions создаются отдельно из QMenuItem и QToolbar, и Действия могут быть присвоены QMenuItem и QToolbar с setAction () и склонность () метод соответственно.
http://web.archive.org/web/20100801023349/http://cartan.cas.suffolk.edu/oopdocbook/html/menus.html
http://web.archive.org/web/20100729211835/http://cartan.cas.suffolk.edu/oopdocbook/html/actions.html