今天在一个bug fix中遇到一个很傻比的问题,而且我遇到很多次了,这次记下来给自己长长记性。有两个地方:一个是给HTML标签添加一个class的问题,还有一个是给一个HTML标签添加一个css样式(其实就是最简单的添加一个背景颜色)
说白了就是我用原始js获取到了element对象,然后TM用jQuery的函数去操作element对象添加class和添加背景css样式,尼玛,肯定是报错啊,我用的IDE是eclipse,里面没有装js语法插件,我在chrome里面调试半天,最后终于搞明白了原因:一开始使用原生js获取到的对象就是原生js.element对象,要是有原生js的方法去操作;而一开始就是要jQuery去获取到的jQuery对象就要使用jQuery的方法去操作。
下面是代码:
//操作css的jQuery代码
$("#dom_id").css('background', '颜色')
//操作css的原生js代码
var element = document.getElementById('dom_id');
element.style.background = '颜色';
//为对象添加一个类标签的jQuery代码
$("#dom_id").addClass("intro");
$("#dom_id").removeClass("intro");
//为对象添加一个类标签的原生js代码
var element = document.getElementById('dom_id');
element.classList.add("类名");
element.classList.remove("类名");
接手的那个项目原生js和jQuery混着写,贼TM牛逼,精神分裂了。。。