Python web前端 05 JavaScript

一、获取元素

  1、初识JavaScript

/* ..  */ #这是多行注释
// #这是单行注释 #JavaScript是一种脚本语言,是一种动态类型、弱类型
#JavaScript通常是用来操作HTML语言的 :HTML骨架(页面结构),css样式(元素大小、颜色、位置、隐藏或显示等),js是行为(部分动画效果、页面与用户交互等) #js标签写在哪
#1、script标签里面;
#2、卸载外部.js后缀文件里面,通过script标签引入(script src="外部js文件");注意:在引入js文件里面的script里面,一定不能在写js代码
#3、写在标签里面(<div onclick="alert(1)"></div>);标签里面写js代码一般情况下不推荐 #script标签的位置
#head或者body里面 ; 要注意是否需要加上window.onload=function() (表示最后再执行) ; 如果没说什么特殊的要求,一般script标签放在body结束之前 alert(1);#弹窗效果,可用来调试代码
console.log(1);#打印到控制台,用来调试代码

  2、定义变量

#定义变量规则: var let const
#1、不能使用关键字或者保留字(结束里面已经赋予其有意义的词,留着备用的词)
#2、只能包含数字、字母、$ 、_ ,并且不能以数字开头
#3、颜色保区分大小写
#4、尽量见名知意 #用","号可以是一个var定义多个变量,var变量并不要求立马赋值

  3、获取元素

#js如何操作页面呢
#要操作页面,就是操作标签,js要操作标签,就要先获取标签 #如何获取独有标签
document.title
document.head
document.body document.title="我要改标题" document.body.innerHEML="<b>我很好啊</b>"#修改body里面的内容必须加上innerHTML,这个=号表示覆盖
document.body.innerHEML=document.body.innerHEML+"<b>我很好啊</b>"#+号表示添加
#可以简写为document.body.innerHEML+="<b>我很好啊</b>" document.body.innerText="<b>我很好啊</b>"#如果加上innerText的话,会把文本内所有内容全部修改(出现的是"<b>我很好啊</b>") #其他元素的获取,id前面必须是document,其他的漆面可以是某个元素(id document),但不能是集合
document.getElementById() #通过id获取元素
.getElementsByClassName() #通过ClassName获取元素
.getElementsByTagName() #通过标签名获取元素
.querySelector()
.querySelectorAll() #通过选择器的写法获取元素
document.getElementsByName() #通过name值回去元素
#获取id
var oBox = document.getElementById("box") #获取上面id名为box的id
oBox.innerHTML="<b>ahhh</b>" #获取classname
var oBox1 = document.getElementsByClassName("box")
oBox1.innerHTML="hahahaha"#没有下标是显示不出来的
#获取一堆原色的集合,设置操作的时候要通过下标(索引、序号)拿到对于的某一个
oBox[0].innerHTML="hahahah" #获取标签名
var oP = document.getElementsByTagName("p")
alert(oP.length);#获取长度
oP[0].innerHTML+="<b>ahh</b>" #给的第一个元素添加ahh,跟上面的classname一样需要添加下标 #通过选择器获取元素
var oI = document.querySelctor("#box1 .warp2 .warp3");
oI.innerHTML+=""#如果是多个元素,自动获取的就是第一个
var oI1=document.querySelectorAll("#box i");
oI1[0].innerHTML+=""#同样要加下标
<div id="box">
<p></p>
<p></p>
<p></p>
<p></p>
</div>
<p>0001</p>
<p>0002</p>
<p>0003</p>
<p>0004</p>
<script>
var oP = document.getElementsByTagName("p");
alert(oP.length);#所有的p,8个 var oBox = document.getElementById("box"),
oP1=oBox.getElenmentByTagName("p");
alert(oP1.length);#id下面的p,4个 var oP2=document.querySelectorAll("#box p");
alert(oP2.length);#id下面的p,4个
</script>

  4.write

document.body.innerHTML+=""
#也可以用这种形式
document.write("") write
#在文档流关闭之前,给body部分新增内容
#在文档流关闭之后,修改整个HTML的内容,用window.onload()写

  5、js里面的事件

#事件
#就是js捕捉用户的操作,并作出正确的响应。在事件函数里面,有一个关键字this,代表当前触发事件的这个元素事件,用户的操作
#元素.事件=函数
#鼠标事件:左键单击 onclick ;左键双击 ondblclick ; 鼠标移入 onmouseover/onmouseenter ;鼠标移出 onmouseout/onmouseleave <div id = "box"></div>
<script>
var oBox=document.getElementById("box")
oBox.onclick=function(){
console.log("我被点击了") ;
oBox.innerHTML+="我被点击了";
this.innerHTML+="我被点击了";#用这个this就是相当于上面的oBox
}

二、操作属性

#js操作元素的标签属性
#规范的标签属性:.符号直接操作(可读可写)
#不规范(自定义)的标签属性
#获取.getAttribute ; 设置 .setAttribute ; 移除 .removeAttribute #注意:
#所有的路径、颜色、获取的结果不一定是你写的内容
#通过id获取的元素赋值给变量后,假设修改了id,这个变量还是这个元素
#自定义标签属性的操作方式,同样可以操作符合规范的标签属性
<a href="http://www.baidu.com" targert="_blank" class="box" id ="box" tz="xp">去百度</a>
<script>
var oA=document.getElementById("box");
alert(oA.target);#可读性
oA.id="box1";#修改id,当然一般没人去改id,一般操作class
oA.href="http://www.taobao.com";#修改路径
oA.tz="hahh" #无效,不规范的不能用.操作来修改
alert(oA.getAttribute("tz"));#获取tz
alert(oA.className);#如果要获取class必须要使用className
oA.setAttribute("target","_self");#修改tz属性
oA.setAttribute("py","web");#原来没有的属性也可以添加上
oA.removeAttribute("class");#移除属性
</script>
<div id ="box" class="box"></div>
<script>
var oBox=document.getElementById("box")
oBox.style.height="300px";
oBox.style.weight="300px";
oBox.style.background="red";#修改样式
oBox.style.cssText="width:300px;height:300px;background:red";#可以用这种方法来修改多个属性
oBox.style.marginLift="100px";#如果书写复合属性要注意驼峰命名(去掉-号,-号后面的第一个单词大写)
oBox.style["margin-top"]="100px";#也可以用这种方法
</script>

Python web前端 05 JavaScript的更多相关文章

  1. Python web前端 01 HTML常用标签

    Python web前端 01 HTML常用标签 一.HTML创建项目 file ---->new project -----> 输入项目名------>创建文件夹 new dicr ...

  2. Python web前端 09 jQuery

    Python web前端 09 jQuery 一.三个重要网址 http://jquery.cuishifeng.cn/ #中文查询网站 http://www.bootcdn.cn/ #引入jq ht ...

  3. 好程序员web前端分享javascript关联数组用法总结

    好程序员web前端分享javascript关联数组用法总结,有需要的朋友可以参考下. Hash关联数组定义 代码如下 // 定义空数组 myhash = { } // 直接定义数组 myhash = ...

  4. Python web前端 02 CSS

    Python web前端 02 CSS 一.选择器 1.CSS的几种样式(CSS用来修饰.美化网页的) #建立模板 复制内容--->SETTING---> Editor -----> ...

  5. Python web前端 03 CSS属性

    Python web前端 03 CSS属性 一.文字.文本属性 1.文字属性 font-family #字体类型浏览器默认的字体是微软雅黑,字体中有多个字体的时候,如果前面的字体没有就使用后面的字体 ...

  6. Python web前端 04 盒子模型

    Python web前端 04 盒子模型 盒子模型是由内容(content).内边距(padding).外边距(margin).边框(border)组成的 一.边框 border #border 边框 ...

  7. Python web前端 06 运算符 循环

    Python web前端 06 运算符 循环 一.运算符 #JS六大数据类型 #number 数字 #string 字符串 #boolean 布尔型 #function 函数 #undefined 未 ...

  8. Python web前端 07 函数及作用域

    Python web前端 07 函数及作用域 一.函数 1.有名函数和匿名函数 #函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块 #函数就是包裹在花括号里面的代码块,前面使用了关键字fun ...

  9. Python web前端 11 form 和 ajax

    Python web前端 11 form 和 ajax 一.打开服务器 将handlers.py.httpd.py和libs.py三个文件放入新文件夹中,双击打开httpd.py文件即可 二.ajax ...

随机推荐

  1. php格式化时间戳显示友好的时间

    在项目中时间一律显示为2014-10-20 10:22显得很呆板.在微博.QQ空间等网站通常会显示为几秒前,几分钟前,几小时前等容易阅读的时间,我们称之为友好的时间格式.那么用php怎么实现呢? 大体 ...

  2. springboot @Value 类中读取配置文件 .properties null 原因和解决方案

    问题:在一个工具类中,通过@Value来映射配置文件的值,得到的总是null 原因:不能用new工具类的方式,应该是用容器注册(@Autowried)的方式使用此工具类,就能得到配置文件里的值 上代码 ...

  3. 599. Minimum Index Sum of Two Lists两个餐厅列表的索引和最小

    [抄题]: Suppose Andy and Doris want to choose a restaurant for dinner, and they both have a list of fa ...

  4. c语言数组初始化 蛋疼

    一个一般性的结论 int a[100]={N}//N是一个大于等于0的整数 以上代码只会把a[0]初始化为N,其它内存单元都会被初始化为0 int a[100]={5} 这行代码它只会把a[0]初始化 ...

  5. django: rest-framework的 分页和过滤

    django: rest-framework的 分页和过滤 2018年06月28日 10:09:01 weixin_42359464 阅读数:136 标签: flaskrestframeworkdja ...

  6. LINUX 查看CUP温度

    在Linux下可以通过lm_sensors来查看CPU的温度(当然你的硬件首先要支持),要使用这个功能要有内核相关模块(比如I2C)的支持,下面说一下操作方法: 先看一下你的机器上是否安装了lm_se ...

  7. scala的futue和promise

    异步操作的有两个经典接口:Future和Promise,其中的 Future 表示一个可能还没有实际完成的异步任务的结果,针对这个结果可以添加 Callback 以便在任务执行成功或失败后做出对应的操 ...

  8. Firefox浏览器控件安装方法

    说明:只需要安装up6.exe即可,up6.exe为插件集成安装包. 1.以管理员身份运行up6.exe.up6.exe中已经集成Chrome插件.  

  9. xml解析中的DOM和SAX的区别

    面试题:DMO和SAX的区别? DOM解析的优点:增删查改操作方便,缺点:占用内存较大,不适合解析大的XML文件: SAX解析的优点:占用内存小,解析快:缺点:不适合增删查改:

  10. 编写高质量代码改善C#程序的157个建议——建议31:在LINQ查询中避免不必要的迭代

    建议31:在LINQ查询中避免不必要的迭代 无论是SQL查询还是LINQ查询,搜索到结果立刻返回总比搜索完所有的结果再将结果返回的效率要高. 示例代码: class MyList : IEnumera ...