我做了一个以这种方式附加的表结构:
var table = $('<table></table>');
table.append($('<tr>').append($('<td>')
.addClass('col2 linhaSub')
.append($('<span>')
.toggleClass('alterado', modelo.ListaRegistros[3][0].Efeito)//returns true or false
.text(modelo.ListaRegistros[3][0].ID))
))
创建表后,我试图通过这种方法使所有“alterado”状态具有淡入淡出效果:
$( "span" ).each(function( i ) {
if ( this.className === "alterado" ) {
$(this).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
}
});
$("body").html(table);
在输入IF之后,淡入淡出效果未被应用,如果我在追加.fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300)
时添加span
,它就像魅力一样。我不能这样做,因为它是有条件的,而且是很多跨度的。
我做错了什么让这个fadeIn正常地按照我正在尝试的方式工作?
IF返回true,因为我调试了它并进行了检查。
由于
答案 0 :(得分:1)
看起来你最后错过了一个结束)
。此外,var
不是Var
var table = $('<table></table>');
table.append($('<tr>').append($('<td>')
.addClass('col2 linhaSub')
.append($('<span>')
.toggleClass('alterado', modelo.ListaRegistros[3][0].Efeito)
.text(modelo.ListaRegistros[3][0].ID))
))
答案 1 :(得分:1)
考虑到 @Bellash 指出的问题在撰写问题时是拼写错误,您的代码运行良好:see this working fiddle with proper syntax and indentation。
正如您所指出的,modelo.ListaRegistros[3][0].Efeito
正在返回true
:这意味着它应该工作并通过if语句。
可能存在的问题是 table
变量 ,时。确保在要求其跨度消失后附加创建的表。看看我是如何在上述小提琴中完成的:
var table = $('<table></table>');
table.append(
$('<tr>').append(
$('<td>').addClass('col2 linhaSub').append(
$('<span>').toggleClass('alterado', true).text("test")
)
)
);
$("body").append(table);
$("span").each(function(i) {
if (this.className === "alterado") {
$(this).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
}
});