嗯,我有这个脚本,但它不起作用。
这都是关于这条线的:document.getElementById('thetest').addClass('superspecial');
一旦应该添加类(但不是),整个脚本就会退出......有人知道为什么吗?
嗯,我有这个脚本,但它不起作用。
这都是关于这条线的:document.getElementById('thetest').addClass('superspecial');
一旦应该添加类(但不是),整个脚本就会退出......有人知道为什么吗?
应该:
jQuery('#thetest').addClass('superspecial');
或者
document.getElementById('thetest').className += ' superspecial';
document.getElementById
不返回 jQuery 元素。
这就是你得到has no method
错误的原因。
我知道现在这是一篇旧帖子,但我自己遇到了它,我使用了一种以前没有命名的方法来解决它。
而不是使用
document.getElementById("name").className+='superspecial';
我用了
document.getElementById("name").classList.add('superspecial');
经过一些研究,这似乎是一种相当新的方法,除了最新版本之外,许多浏览器版本都不支持它。使用此功能的浏览器要求如下所述: https ://www.w3schools.com/jsref/prop_element_classlist.asp
我不知道这两种解决方案之间的确切区别,但在我看来,获取 classList 并使用现有函数添加它会是更好的选择。特别是因为 += 是一种将东西添加到彼此的通用方法,它并不总是必须按照您期望的方式工作。