Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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