jquery - .append() 之后的 JQuery .addClass() 未按预期运行
问题描述
HTML
<ul class="container" >
<li class="default-state">
some stuff
</li>
</ul>
SASS
.default-state
transition: all 0.2s ease 0s
width: 20px
.new-state
width: 100px
JS
$itemClone = $('li.default-state').clone();
$('ul').append($itemClone);
$itemClone.addClass('new-state');
发生的情况是 div 出现在列表中,其类已经为“.new-state”,并且没有应用任何转换。
当我这样做时,我觉得很荒谬:
$itemClone = $('li.default-state').clone();
$('ul.container').append($itemClone);
setTimeout(function(){
$itemClone.addClass('new-state');
}, 1);
它完美地工作。但我觉得在这种情况下应该不需要使用 .delay() 或 setTimeout 。我知道。append()
没有回调函数,是否有另一种 jquery 方法可以添加到此以避免添加愚蠢的 1ms 延迟?
我想将我所有的过渡/动画保留在 SASS 中,因为宽度在媒体查询中是动态的。
解决方案
推荐阅读
- javascript - 如何使用类和函数为 html5-canvas 上的多个对象设置动画?
- scala - 优化 Flink 转换
- javascript - 在 javascript 中导入文件总是在路径前面添加 localhost
- jmeter - JMeter 负载测试异步 api
- amazon-web-services - 如何在 NodeJS 中使用 AWS SES 发送附件?
- xamarin.forms - 从点数组中检索签名
- opencart - 我如何在 opencart 文件中搜索代码行以在类别页面 OpenCart 2.3 中更改网格视图
- java - Selenium - 单独通过,TestSuite 没有
- python-requests - 在 Python 请求库的 Header 中使用 JSON
- c# - Xamarin.Forms iOS 在带有自定义控件的 XAML 页面上崩溃