17
<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

4

4 回答 4

36

由于标题有点混乱,一些人(比如我)可能会来这个问题寻找如何获取 DOM 元素的文本内容。您可以通过以下方式完成此操作:

$("#myselector").text() // returns the content of the element as plain text
于 2011-06-06T05:00:09.173 回答
5

$("#divID").html() 会得到里面的文本。

于 2009-10-29T15:27:08.497 回答
2

为了选择 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();
于 2009-10-29T15:07:05.567 回答
0

您可以将 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);

无论哪种方式都应该有效。

于 2009-10-29T18:45:47.480 回答