JS文件写法操作,DOM基本操作
js文件写法、规范
// 定义全局变量
var num = 0;//这个是用来记数的。
// 页面加载完成
window.onload = funtion(){
intVar();//初始化变量
scrollFun();//滚动监听
。。。。
}
// 定义方法
funtion initVar(){}
funtion scrollFun(){}
dom操作
dom 操作页面上的标签
js的组成:ECMAscript(核心语法)
BOM 浏览器对象模型
windows 窗口
location 地址栏
history 历史记录
document 文档 html文件
DOM 文档对象模型
<script>
//打开关闭窗口
// windows.open("打开文件名";"打开文件位置");
// windows.close属性();
//修改地址栏
// location.href;在本页面跳转
// location.href="网页地址";则跳转到网页地址上。
// location.reload();刷新
// location.replace();
//定时器
// 延迟执行
// var setTimeoutObj setTimeout(funtion(){
// alert(123);
// });
// 间隔执行
// setInterval(funtion(){
// console.log(123);
// },3000); 以毫秒为单位。
// 停止定时器
// clearTimeout(setTimeoutObj);
// clearTimeout(setin);
// 间隔打印三次停止
// var intv setInterval(funtion(){
// sum++;
// console.log(123);
// if (sum >= 3) {
// clearTimeout(intv);
// }
// },1000);
// 动态时钟
// var str = "";
// setInterval(funtion(){
// str = "";
// var tt = new Date(),
// y = tt.getFullYear(),
// M = +tt.getMouth()+ 1 ,
// d = tt.getDate(),
// h = tt.getHours(),
// m = tt.getMinutes(),
// s = tt.getSecounds();
// var str = y + '-'+ M + '-' + d + '' + h + ':' + m + ':' + s;
// document.getElemntsByTagName('div')[0].innerHTML = str;
// document.write(str);
// },1000);
//滚动监听
// var flag = true;
// window.onscroll= function(){
// //变量t是滚动条滚动时,距离顶部的距离
// var t = document.documentElement.scrollTop||document.body.scrollTop;
// if(t = 100 && flag == true){
// flag = false;
// alert(123);
// }
// }
// 页面加载完成。
// 很重要,!将全部页面加载完成!!!
window.onload = funtion(){ }
dom 文档对象模型 body :
何时找 何时操作 找到标签,操作标签
找到标签:
document.getElementById("btn");
document.getElementsByName("btn"); 通过name属性
document.getElementsByTagName("btn"); 通过标签
document.getElementsByClassName("btn"); 通过class属性
了解:结合嵌套来找。
操作js对象
内容
非表单元素:obj.innerHTML obj.innerHTML = 123;
表单元素: obj.value obj.value = 123;
样式
obj.style.color obj.style.color = red;
这个操作只能操作行内样式
background-color 变成 backgroundColor 去掉“-” 开头字母大写
属性 obj
obj.setAttribute('class','dd ff');//覆盖性设置属性
obj.getAttribute('class','dd');//获取属性
obj.removeAttribute('class');//删除属性
事件
不同地方
方式一:
onclick 属性
方式二:js中定义
obj.onclick = function(){}
//写在在Evt事件内
//此处function无实际意义,语法如此。只是说明这里是个方法调用。
方式三:
obj.addEventistener('click',f1); //this 写在行内
obj.addEventistener('click',f1);
obj.removeEventistener('click');
创建删除
// 节点操作
// var btnDom = document.getElementById("btn").getElementsByTagName('span');
// var btnsDom = document.getElementsByTagName("btn");
// console.log(btnDom.firstElementChlid);
//根据ID 查找控件
// var dombtn = document.getElementById('btn');
// alert(dombtn);
//根据标签名,查找
// var dombtn = document.getElementsByTagName("button");
// console.log(dombtn); //找出来的东西叫集合,类似是数组
// for (var i in dombtn) { //用for in 遍历的时候全出来了
// if (!isNaN(i)){ // 需要判断非数字的跳过
// continue;
// }
// console.log(dombtn[i]);
// }
// console.log('-----------------');
//for(var i =0;i<//btnDom.length;i++){ //这种遍历不用判断
//console.log(btnDom[i]);
// }
JS文件写法操作,DOM基本操作的更多相关文章
- 原生JS和jQuery操作DOM的区别小结
一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...
- classList详解,让你的js方便地操作DOM类
在此之前,jQuery的hasClass.addClass.removeClass我们已经再熟悉不过了,然而我们并不会在每一个项目中都会去使用 jQuery或者Zepto,譬如在移动端的网页中,考虑到 ...
- JS错误写法[清除DOM]
前言 我现在总结一下我之前敲代码犯的错误,清除DOM元素,我们开始写代码吧! HTML <h1 style="font-size: 18px;font-weight: bold;col ...
- 原生JS与jQuery操作DOM对比
一.创建元素节点 1.1 原生JS创建元素节点 document.createElement("p"); 1.2 jQuery创建元素节点 $('<p></p&g ...
- js,ts操作dom总结
以上面为例: js获取placeholder节点 : document.getElementsByClassName("newTicket")[0].getAttributeNod ...
- HTML(.js) – 最简单的方式操作 DOM 的 JS 库
HTML(.js) 是一个轻量的(压缩后~2kb) JavaScript 库,简化了与 DOM 交互的方法. 这个 JavaScript 库的方法可读性很好,并具有搜索和遍历 DOM 的方法.相比 j ...
- JavaScript的8行代码搞定js文件引入问题
单页面的操作,免不了会有各种jsp的嵌套问题,一个操作页面里面可能涉及到几十甚至上百个jsp页面. 平常我们对用到的js文件的引入,都会放到index的header里面.如图: 但是,让我们思考三个问 ...
- 吉特仓储管系统(开源)--使用Grunt压缩JS文件
在吉特仓储管理系统开发的过程中大量使用到了JS,随着JS文件的增多我们需要对JS进行有效的管理,同时也要对JS文件进行一些压缩.文本用于记录一下使用grunt压缩JS的操作步骤,便于遗忘之后记录查找, ...
- javascript 文件的操作
js 文件的操作(ActiveXObject仅支持IE) 一.参数解释: 1. filename: filename //文件路径 2.iomode: var forReading=1;只读var f ...
随机推荐
- jquery运用FormData结合Ajax异步上传表单,超实用
首先创建一个formData,其中参数,就是你的form表单,jquery要加0,也可以用document.querySelector("form")得到 var formData ...
- 剑指offer——python【第59题】按之子形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路 这道题其实是分层打印二叉树的进阶版 ...
- 微信小程序开发的游戏《拼图游戏》
微信小程序开发的游戏<拼图游戏> 代码直接考进去就能用 pintu.js // pintu.js Page({ /** * 页面的初始数据 */ data: { }, initGame: ...
- 让AI简单且强大:深度学习引擎OneFlow技术实践
本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木)分享的<让AI简单且强大:深度学习引擎OneFlow背后的技术实践>实录. 北京 ...
- 一次php访问sql server 2008的API接口的采坑
2018年6月21日17:17:09,注意:不是详细文档,新手可能会看不懂 windows下安装 项目是sql server 2008的k3,php连接数据库写的API,因为是买的时候是别人的程序,测 ...
- 64bit program invoke 32bit library with rpcgen
https://www.cnblogs.com/ddk3000/p/5051108.html 这篇博客介绍了一种用rpc的方法实现64位程序调用32位动态库的方法,核心是利用rpcgen简化了进程间通 ...
- vue-cli 创建项目失败
vue-cli 创建一个vue项目报错 npm code 404. 尝试解决方法都有,我是第3种方法生效 更新npm 重新安装nodejs vue-cli@3.0.1 在创建项目的时候,不能开启其他v ...
- Windows服务器外网无法访问web的解决方法
windows环境下使用集成 IIS服务器时一般不会发生外网无法访问的问题,而使用apache.kangle.lighttpd.niginx.tomcat等时:服务器上可通过配置的域名访问网站,pin ...
- 2017(5)软件架构设计,web系统的架构设计,数据库系统,分布式数据库
试题五(共 25 分) 阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题1 至问题 3. [说明] 某公司开发的 B2C 商务平台因业务扩展,导致系统访问量不断增大,现有系统访问速度缓慢, ...
- NSRunLoop 在mac command line tool上的部分运用
首先RunLoop相关博客参考这篇https://blog.csdn.net/lengshengren/article/details/12905627. 最近开发了一个mac上的命令行工具,我在主线 ...