JQuery Attr не выводится - PullRequest
       3

JQuery Attr не выводится

0 голосов
/ 14 октября 2018

Я пытаюсь заставить jQuery attr работать с динамически загружаемым содержимым.

$('.content').find('.game-release').html($(this).attr("data-timer"));

.content загружено в DOM, .game-release загружено в динамическом содержимом AJAX.

Когда я делаю это:

$('.content').find('.game-release').html("Hello");

Div меняется на "Hello".При выполнении $(this).attr("data-timer") вместо «Hello» он ничего не делает.

Div выглядит так:

<div class="game-release" data-timer="10-08-2018 02:00:00">some text</div>

Кто-нибудь знает, почему это происходит?

Ответы [ 3 ]

0 голосов
/ 14 октября 2018

Вы хотите использовать функцию для HTML:

$('.content').find('.game-release').html(function() {
  return $(this).data("timer")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content">
  <div class="game-release" data-timer="10-08-2018 02:00:00">some text</div>
  <div class="game-release" data-timer="11-08-2018 02:00:00">some text</div>
  <div class="game-release" data-timer="12-08-2018 02:00:00">some text</div>
</div>
0 голосов
/ 14 октября 2018

var time = $(".game-release").data('timer');
$('.game-release').html(time);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <div class="game-release" data-timer="10-08-2018 02:00:00">some text</div>
0 голосов
/ 14 октября 2018

Когда вы звоните

$('.content').find('.game-release').html($(this).attr("data-timer"));

, вероятно this это не то, что вы думаете, это.Обычно это объект, из которого была вызвана функция.

Вы, вероятно, исправили бы это, используя

var game_release = $('.game-release').first(); // Calling first because it's then more clear we're calling methods on only the first element in the collection, in case there are more .game-release elements.

game_release.html(game_release.attr("data-timer"));

Вы можете попробовать выдать console.log(this) внутри, где вы вызываете .html(), чтобы убедиться, что this означает, когда вы вызываете.html() функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...