Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript DOM Scripting By Example Editing and Filtering Names States of the Application

shirshah sahel
shirshah sahel
10,035 Points

My edit and remove buttons are not working.

const form = document.getElementById('registrar');
const input = form.querySelector('input');
const ul= document.getElementById('invitedList');


form.addEventListener('submit', (e)=>{
e.preventDefault();
const text= input.value;
  input.value= '';
  const li= document.createElement('li');
  li.textContent= text;
  const label= document.createElement ('label');
  label.textContent= 'confirmed';
  const checkbox= document.createElement('input');
  checkbox.type= 'checkbox';
  label.appendChild(checkbox);
  li.appendChild (label);
  ul.appendChild(li);

  const editButton= document.createElement('button');
  editButton.textcontent= 'edit';
  li.appendChild(editButton);


  const removebutton= document.createElement('button');
  removebutton.textcontent= 'remove';
  li.appendChild(removebutton);

  ul.appendChild(li);
});

ul.addEventListener('change', (e) => {
const checkbox = event.target;
const checked = checkbox.checked; 
const listItem = checkbox.parentNode.parentNode; 

if(checked){
listItem.className='responded';
} else{

listItem.className= '';
  }
});

ul.addEventListener('click', (e)=>{
 if (e.target.tagName==='BUTTON' ){
 if (e.target.textContent==='remove'){
   const li= e.target. parentNode;
   const ul= li. parentNode;
   ul.removeChild(li);
 } else if(e.target.textContent === 'edit'){
 console.log('edit');

   }
  }                   
 });
Charles Wanjohi
Charles Wanjohi
9,235 Points

You have misspelt the textContent function while creating the two DOM elements.

 const editButton= document.createElement('button');
  editButton.textContent= 'edit';  //  correct textcontent to textContent
  li.appendChild(editButton);

3 Answers

Charles Wanjohi
Charles Wanjohi
9,235 Points

You have misspelt the textContent function while creating the two DOM elements.

 const editButton= document.createElement('button');
  editButton.textContent= 'edit';  //  correct textcontent to textContent
  li.appendChild(editButton);

had added this as a comment but it should be an answer.sorry for repeat

shirshah sahel
shirshah sahel
10,035 Points

Thank you so much charles for taking a look.

shirshah sahel
shirshah sahel
10,035 Points

Yeah when i correct the misspelling it worked. before that the whole buttons were not functioning.

Charles Wanjohi
Charles Wanjohi
9,235 Points

Just a correction the textContent is a propety not a function