Adding new tags dynamic with javascript

You can add new tags dynamically using JavaScript by creating a new HTML element and appending it to the existing tag list. Here's an example:

// Get the existing tag list
const tagList = document.getElementById('tag-list');

// Create a new tag input field
const newTagInput = document.createElement('input');
newTagInput.type = 'text';
newTagInput.placeholder = 'Add a new tag...';

// Add an event listener to the input field
newTagInput.addEventListener('keypress', (event) => {
  if (event.key === 'Enter') {
    // Get the value of the input field
    const newTagValue = newTagInput.value.trim();

    // Create a new tag element
    const newTag = document.createElement('span');
    newTag.textContent = newTagValue;
    newTag.className = 'tag';

    // Add the new tag to the tag list
    tagList.appendChild(newTag);

    // Clear the input field
    newTagInput.value = '';
  }
});

// Add the new input field to the tag list
tagList.appendChild(newTagInput);

This code creates a new input field and appends it to the existing tag list. When the user presses Enter, it gets the value of the input field, creates a new tag element, and appends it to the tag list. Finally, it clears the input field.

You can also use a library like jQuery to make the code more concise:

$('#tag-list').append('<input type="text" placeholder="Add a new tag...">');

$('#tag-list input').keypress((event) => {
  if (event.key === 'Enter') {
    const newTagValue = $(event.target).val().trim();
    $('<span>').text(newTagValue).addClass('tag').appendTo('#tag-list');
    $(event.target).val('');
  }
});

This code uses jQuery to append the new input field to the tag list and add an event listener to the input field. When the user presses Enter, it gets the value of the input field, creates a new tag element, and appends it to the tag list. Finally, it clears the input field.

You can also use a template literal to create the new tag element:

const newTag = document.createElement('span');
newTag.textContent = `${newTagValue}`;

This code uses a template literal to create the new tag element with the value of the input field.

You can also use a library like React or Angular to create a dynamic tag list.

It's also important to note that you should validate the input value before adding it to the tag list, to prevent adding duplicate or invalid tags.

You can also use a library like Select2 to create a dynamic tag list with autocomplete feature.

You can also use a library like Tagify to create a dynamic tag list with autocomplete feature and other features like filtering and sorting.

It's also important to note that you should consider the accessibility of your code, and make sure that the new tag list is accessible to users with disabilities.