Есть разметка, в которой по очереди меняются предметы. Сперва записывается в item1, затем в item0, потом опять в item1 и так далее.
Проблема в том что не могу сделать вывод предмета который только что добавился. Пока что сделаю проверку в какой div записывается, но не работает
(function(){let flag =true;let item =[document.getElementById("item0"), document.getElementById("item1")];
document.addEventListener("click",function(e){if(e.target.classList.contains('link')){if(flag ? item[0]: item[1]){
c("0");}else{
c("1");}
flag =!flag;}});})();
<h1id="item0">Div 1</h1><h1id="item1">Div 2</h1>
Answer 1
Использование classList предпологает наличие атрибута class, в вашем случае он отсутсвовал.
(function(){let flag =true;let item =[document.getElementById("item0"), document.getElementById("item1")];//---------------------------------------------------------------- function c(str){
console.log('Entered c...');}//----------------------------------------------------------------
document.addEventListener("click",function(e){if(e.target.classList.contains('link')){if(flag ? item[0]: item[1]){
c("0");}else{
c("1");}
flag =!flag;
console.log(flag);// debugg }});})();
<!-------- Doesn't have class link --------><h1id="item0"class="item00">Div 1</h1><h1id="item1">Div 2</h1><!-------- Has class link --------><divclass="link">With link class</div>
Есть такой вариант.
(function(){let flag =true;let item =[document.getElementById("item0"), document.getElementById("item1")];//---------------------------------------------------------------- function c(index){// Hide/Show current element
item[index].classList.add('show');
item[index].classList.remove('hide');// Hide other element
item[index ?0:1].classList.add('hide');}//----------------------------------------------------------------
document.addEventListener("click",function(e){if(e.target.classList.contains('link')){if(flag){
c(0);}else{
c(1);}
flag =!flag;}});})();
<!-------- Doesn't have class link --------><h1id="item0"class="hide">Div 1</h1><h1id="item1">Div 2</h1><!-------- Has class link --------><divclass="link">With link class</div>
Как сделать так что бы при else форма отправлялась пользователю,грубо говоря как выше отменить действие eventpreventDefault(); (return false; не работает) ?