我正在尝试介绍动画并更改div标签内的文本,并针对单选按钮发送文本
能够通过动画更改div的文本 但是我无法使用动画
更改收音机的文本注意 - 没有动画我能够根据之前提出的问题
来做到这一点以下是我的HTML:
<div id="questionBlock">
<article>loremipsum dah blah blah </article>
</div>
<label class="block" id="lblFirstOption" for = "sizeSmall">
<input type = "radio" name = "radSize" id = "sizeSmall" value = "small" />small
</label>
适用于简单div的Jquery:
$('#questionBlock article').fadeOut(function() {
$(this).text(val["carType"]).fadeIn().delay(3000);
});
不适用于标签文本的Jquery随动画更改:
$('#sizeSmall')[0].nextSibling.nodeValue.fadeOut(function() {
$(this)[0].nextSibling.nodeValue(val["carType"]).fadeIn().delay(3000);
});
有什么想法吗?
答案 0 :(得分:0)
$('#lblFirstOption span').fadeOut(function() {
$(this).parent().append('<span>TestRadio</span>').fadeIn().delay(3000);
});
答案 1 :(得分:0)
.nodeValue不是函数,只需使用赋值
进行设置$(this)[0].nextSibling.nodeValue = val["carType"];
此外,由于您现在正在使用实际的DOM对象,因此您不再使用jQuery链,因此在调用失败后将fadeIn和延迟链接起来。即使你仍然在jQuery链中,你也无法淡入/淡出textNodes。您需要将文本包装在另一个元素中,例如span
HTML
<label class="block" id="lblFirstOption" for = "sizeSmall">
<input type = "radio" name = "radSize" id = "sizeSmall" value = "small" />
<span>small</span>
</label>
JS
$('#sizeSmall').next().fadeOut(function() {
$(this).text(val["cartype"]).fadeIn().delay(3000)
});