Jquery изменение атрибута данных и влияние CSS - PullRequest
0 голосов
/ 25 января 2020

Я использую атрибут данных в моем css, однако, когда я изменяю его с помощью jquery, он не меняется на экране в домене.

$('#new-1').data('count', 5);
.fa-stack[data-count]:after {
  position: absolute;
  right: -20%;
  top: -20%;
  content: attr(data-count);
  font-size: 90%;
  padding: .4em;
  border-radius: 999px;
  line-height: .75em;
  color: white;
  background: rgba(255, 0, 0, 1);
  text-align: center;
  min-width: 1.5em;
  font-weight: bold;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span id="new-1" class="fa-stack fa has-badge" data-count="0">
<i class="fa fa-user-circle fa-stack-1x"></i>
</span>

Ответы [ 2 ]

1 голос
/ 25 января 2020
$('#new-1').attr('data-count', 5);
0 голосов
/ 25 января 2020

Если вы посмотрите документацию JQuery по этой ссылке

https://api.jquery.com/data/

, в ней четко указано

Использование Метод data () для обновления данных не влияет на атрибуты в DOM. Чтобы установить значение атрибута data- *, используйте attr.

Следовательно, вы должны использовать функцию .attr("key", value);.

Код будет

$('#new-1').attr('data-count', 5);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...