检查是否存在动态添加的类
Check if dynamically added class exists
document.addEventListener('DOMContentLoaded', function() {
if (document.getElementsByClassName('myclass').length) {
doSomething();
}
});
如果<div class="myclass">...</div>
直接写在HTML文档中,则这有效,但如果它是由JavaScript本身插入的,则无效。有什么想法吗?
好吧,想想你对听众做了什么。你让此代码在 DOMContentLoaded
事件触发时运行。如果要在其他地方更改 DOM,则无法保证此代码将在之后运行。事实上,除非您手动发出该事件,否则它似乎每页只会运行一次。
但是,由于我不知道在运行时附加类的代码是什么样子的,所以我不能更具体。
例如,以下代码生成"dom loaded",但不生成"找到类!
document.getElementById("foo").className = "myclass";
document.addEventListener('DOMContentLoaded', function() {
alert('dom loaded');
if (document.getElementsByClassName('myclass').length) {
alert('My class is found!');
}
});
下面的代码按预期生成两者。
document.addEventListener('DOMContentLoaded', function() {
alert('dom loaded');
document.getElementById("foo").className = "myclass";
if (document.getElementsByClassName('myclass').length) {
alert('My class is found!');
}
});
为了向您展示我的意思,这里有 plunkr 链接:
加工
不工作
使用 className.indexOf
myElement = document.getElementById("IdOfTheElement");
if(myElement.className.indexOf('MyClassName') != -1){
/* The class exist*/
}
相关文章:
- 正在添加动态第二类Jquery
- 如何在javascript而不是jquery中添加动态列表
- 为图例添加动态色彩标签
- 如何在谷歌表单中添加动态字段
- 如何添加动态Id's并在运行时提取它们
- 在 JavaScript 中添加动态文本
- 如何添加动态表单元素但保留其值(JS)
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- 如何使用JavaScript添加动态HTML内容(DIV)
- javascript初学者:在javascript中添加动态样式
- 如何使用Javascript在html源中添加动态数据
- 向Uploadify添加动态字段
- 如何在 Vue.js 中添加动态组件/部件
- 锚导航与坚持到顶部菜单..需要向锚点添加动态偏移量
- Javascript:添加动态方法
- 向角度对象添加动态功能
- 添加动态文本框时更新动态高度
- JavaScript 运行时错误:无法在 Windows 8 应用中添加动态内容
- 添加动态点击事件
- 添加动态字段以创建特定的 JSON 格式