Выберите внутренний текст с помощью jQuery

<div class="boxen checkedzahlen" id="box41_0_1">
 41
 <input type="checkbox" value="1" name="cb41_0_1" id="cb41_0_1" checked="checked"/>
</div>

Что-то вроде этого дается, как я могу анимировать текст 41, если щелкнуть $(this) (класс boxen)?

this > * не работает. Также this:children.

Ответ 1

Из-за слегка запутанного названия некоторые люди (например, я) могут приходить к этому вопросу, глядя на то, как получить текстовое содержимое элемента DOM. Вы можете выполнить это:

$("#myselector").text() // returns the content of the element as plain text

Ответ 2

$( "# divID" ). html() получит текст внутри.

Ответ 3

Чтобы выбрать div, вы должны использовать следующее:

$('#box41_0_1')

Чтобы анимировать все поле, вы могли бы сделать

$('#box41_0_1').fadeOut().fadeIn();

или какой-либо другой эффект анимации.

Изменить: Если вы хотите выбрать только внутренний текст, вы можете попробовать обернуть внутренний текст с помощью div, но с кодом, который вы предоставили, который также будет выбирать флажок, который я считаю. Пример кода:

$('#box41_0_1').wrapInner("<span id='span41_0_1'></span>");
$('#span41_0_1').fadeOut().fadeIn();

Ответ 4

Вы можете обернуть содержимое div в промежутке, а затем переместить вход за пределы этого диапазона. Затем вы можете оживить пролет. Что-то вроде этого:

$('.boxen').each(function() {
  var $thisBox = $(this);
  $thisBox.wrapInner('<span></span>');
  $thisBox.find('input').appendTo($thisBox);
});

$('.boxen span').animate({fontSize: '28px'}, 400);

Вы также можете смешивать и сопоставлять прямые сценарии DOM с помощью jQuery, например:

$('.boxen').each(function() {
  var newSpan = document.createElement('span');
  newSpan.innerHTML = this.firstChild.nodeValue;
  this.firstChild.nodeValue = '';
  $(this).prepend(newSpan);
});

$('.boxen span').animate({fontSize: '28px'}, 400);

В любом случае это должно сработать.