原生JavaScript替代jQuery的Dom操作简单实例
jQuery的Dom操作十分简单,在开发iDevs主题的时候,其中“菜单”和“搜索”部分使用到了一些很基本的Dom操作,图方便,我使用了jQuery,闲来无事,尝试着使用原生的js完成这一操作,发现其代码量一样,且原生js效率更高,啰嗦多了,先贴代码。
HTML结构如下:
<input type="button" id="Test" class="menu_click" value="按钮" />
jQuery的Dom实例:
jQuery_btn_click("Test", "menu_click", "menu_close", true);
function jQuery_btn_click(btn, on, off, flag) {
$('#' + menu).click(function () {
$('#' + menu).prop('class', (flag = !flag) ? on : off);
});
}
为了方便,我封装了函数并传了几个有趣的参数,代码量很少,具体传的什么一看便知。
原生Javascript实例:
cover_click("Test", "menu_click", "menu_close", true);
function cover_click(btn, on, off, flag) {
(btn = document.getElementById(btn)).onclick = function () {
btn.setAttribute("class", (flag = !flag) ? on : off);
}
}
就是这样子,原生的方法操作起来与jQuery的代码量几乎一致。
兼容性
兼容性方面,jQuery视版本而定,2.0版本之后已经不再支持IE8-,原生的,我本地测试是支持IE7+,欢迎大家测试一下。
上面只是一个实例,在此记录一下,修修改改还可以完成其他的一些简单的Dom操作,如果有更方便且简单的方法欢迎指出。
手机版上你的css没弄好吧,代码全部都被弄成防止溢出了,全部米有换行。
不换行的,左右滑不就有了。难道有什么问题。换行的话代码太多会占用文章篇幅太大。很早的设计就是不换行。
或者是个好的idea~
我看看
有多少人是用手机看博客的?
统计上看,大概1/5吧,不是很多
我去,这也是不少了的!!
主题非常漂亮,厉害厉害
换了iDevs那主题后,音乐不能自动播放,可能与JS有关。(可以看看我站点的 /about页面)
你试一试下面的代码,放到后台》用户》我的个人资料》需要重载的代码。里面
代码被吃掉了,邮箱发给你试试
添加后能正常播放音乐了。望下一版本可修复看看~ 之前我以为是另一个插件冲突导致,反正有时得刷新一下才可以。
还有点bug。。。关掉pjax吧。。。比较彻底点,立竿见影
今天访问我网站,电脑管家报风险提示,您知道这是七牛域名的问题,还是主题哪个文件的问题呢?图片见此:http://chuantu.biz/t4/17/1463661299x3738746571.png
七牛的域名被污染了,建议申诉或者前往七牛绑定域名。ttf只是一个字体文件,不存在任何风险。不放心的话可以用杀毒软件查杀主题文件。
很久没来了,你又换版了,页面上的一些小动画确实不错
一些“心机”的装饰,哈
好漂亮的主题!!死啃JS中……
说来那个到底应该写成
flag != flag
还是
flag =! flag
我习惯用前者
不不不,没写错,flag = !flag,flag是bool,我想每运行一次就改变一次值,是true的时候,就变成false,是false的时候让他变成true,对应的是打开、关闭,如果按照你这么写,会永真或者永假。。。
越来越好看了嘛2333
是嘛,哈哈,也在尝试不同的风格
博主主题很漂亮。
js还在学,有一些标签还没学到。。。
终于搞定新主题tob的上线,过来看看博主。
再看看
点击搜索后还要自己单击文本输入框,体验不好
谢谢提醒,已经解决了
添加html代码的时候自动转译成页面了,该怎么编辑
:roll: 可以