Как получить имя класса из тега - PullRequest
0 голосов
/ 24 января 2020

Я хочу менять <a> цвет и <span> текст каждый раз, когда я нажимаю кнопку. Мне нужно положить что-то в data == '0'

<div class="submitset uncheck">
  <a class="btncolor--blue bt_register" href="<?php echo '/advertiser/campaign/' ?>">
    <span class="stop_offer">Start</span>
  </a>
</div>
jQuery(document).ready(function($) {
  //案件を登録する
  jQuery('.bt_register').click(function() {
    var link = jQuery(this);
    var params = link.attr('href').split('/');

    jQuery.get(link.attr('href'), function(data) {
      console.log($('#sidebar div:eq(14)').attr('class'));
      if (data == '0') {
        link.find('span').text('Start');
        link.attr('class', 'btncolor--red bt_register');
      } else {
        link.find('span').text('Stop');
        link.attr('class', 'btncolor--blue bt_register');
      }
    });
    return false;
  });
});

Ответы [ 2 ]

2 голосов
/ 24 января 2020

Если вы еще не нашли решение, я покажу одно из многих возможных решений:

jQuery(document).ready(function($) {
	let data = 1;
  jQuery('.bt_register').click(function() {
    let link = jQuery(this);
		
      if (data % 2 == 0) {
        link.find('span').text('Start');
        link.removeClass("btncolor--blue")
        link.addClass("btncolor--red");
        
      } else {
        link.find('span').text('Stop');
        link.removeClass("btncolor--red")
        link.addClass("btncolor--blue");
      }
      data++;
      return false;
  });
});
.bt_register {
  color: white;
  padding: 20px;
}
.btncolor--blue{
  background-color: blue;
}
.btncolor--red {
  background-color: red;

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="submitset uncheck">
  <a class="btncolor--blue bt_register" href="#">
    <span class="stop_offer">Start</span>
  </a>
</div>

Или более короткое решение:

jQuery(document).ready(function($) {
  let data = 1;
  jQuery('.bt_register').click(function() {
    let link = jQuery(this);

    if (data % 2 == 0) {
      link.find('span').text('Start');
    }  else {
      link.find('span').text('Stop');
    }
    link.toggleClass("btncolor--red")
    data++;
    return false;
 });
});
1 голос
/ 24 января 2020

Вы можете попробовать это:

document.onready(() => {
    const $ = jQuery;
    $(".bt_register")
      .click(() =>
        $.get($("href"))
            .then(data => {
               $("span").text( data === 0 ? "Start" : "Stop" )
               $("#sidebar").class("btncolor--" + ( data === 0 ? "red" : "blue" ) + " bt_register")
            })
      )
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...