I am trying to change the div class so i can add the functionality to it
Here is my JS Code
idName is giving me name as Tuesday
console.log(document.querySelector("#w1_"+idName.split('_')[1]).previousSibling);
document.querySelector("#w1_"+idName.split('_')[1]).previousSibling.classList.remove('specialCheckbox2');
document.querySelector("#w1_"+idName.split('_')[1]).previousSibling.classList.add('specialCheckbox3');
document.querySelector("#w1_"+idName.split('_')[1]).disabled = true;
and here my html
<div class="specialCheckbox2"><input class="checktip" type="checkbox" value="1" name="w1_Tuesday" id="w1_Tuesday"><label for="w1_Tuesday"></label></div>
>Solution :
The element with the w1_Tuesday id is the first sibling. There isn’t one before it, so previousSibling will return null.
It looks to me like you want to get the surrounding div with the specialCheckbox2 class. That can be gotten with parentElement like this:
const parent = document.querySelector("#w1_"+idName.split('_')[1]).parentElement;
parent.classList.remove('specialCheckbox2');
parent.classList.add('specialCheckbox3');
Or parentNode is also an option:
const parent = document.querySelector("#w1_"+idName.split('_')[1]).parentNode;
parent.classList.remove('specialCheckbox2');
parent.classList.add('specialCheckbox3');