Python自动化开发从浅入深-进阶(script,dom,jquery 基础)

  •  JavaScript (可以对html标签及CSS进行操作)
  • Dom (API,提供找寻html中的标签,以便于使用JS对所找到的标签或CSS进行相应的操作)
  • jQuery (用于将复杂的逻辑和运算封装到一个包中供外部调用)

JavaScript:

<srcipt>...</script>

存在的形式:文件,块

一般在body的底部书写。

--- 声明变量:

name = "alex" ;(全局变量)

var age=18;     (局部变量)

--- 数字:

var age = "18";

console.log(age,typeof age);

age = parseInt(age);

console.log(age,typeof age);

var age = "18.9";

console.log(parseInt(age));

console.log(parseFloat(age));

Number(‘123‘);

parseInt(‘123‘);

--- 字符串:可在浏览器中的console调试。

var name = "abc";

var name = "abc      ";

name.trim();    去掉字符串尾部的空字符

name.charAt(0);  获取第一个字符a

name.substring(1,2); 获取等于1小于2中间的数据,这里是b

--- 布尔:

Boolean(1)

true

Boolean(0)

false

--- 数组:

var li = [11,22,33];

var n = [44,55,66];

var li = Array(11,22,33);

li.push(88); 往li放入88 (往后插入数据)

li.unshift("abc"); 往li中放入字符串(往前插入数据)

li.splice(1,0,‘alex‘); 在1这个位置放入‘alex‘字串,参数0是固定写法。

i = li.pop();  将li尾部数据移出,并赋值给i (从尾部移出)

i = li.shift(); 将li的头部值移出,并赋值给i (从头部移出)

li.splice(1,2); 将li中1位置开始的元素取出2个(第一个参数是为位置,第二个参数是个数)

li.slice(0,2); 切片,从0位置,到2(不计算在内),这里是11,22

m = li.concat(n); 联合,将li和n联合到一起,并赋给m

li.reverse();自身翻转变为33,22,11

m = li.join(‘-‘);  ‘-‘为分隔符,11-22-33

name = ‘zhaohong‘;

name.length; 获取字符串长度

--- 字典:

dic = {"k1":‘v1‘} 创建字典,是一个对象

--- 序列化和反序列化:

s = JSON.stringify(dic)  将dic字典序列化为一个字符串

m = JSON.parse(s)  将序列化的s,进行反序列化为一个对象

-- undefined

var name = "jake"

undefined

如果对于定义的变量未赋予值,则为undefined

如:var ss,  ss显示为undefiled, 布尔值为false

name = null 指向了一个特殊地址,null的布尔值为false

--- 循环语句:

li = [11,22,33,44];

for(var item in li){

console.log(item);  //输出为索引

}

var dic = {‘k1‘:11,‘k2‘:22};

for(var item in dic){

console.log(item) //输出为key

}

for(var i=0;i<100;i++){

console.log(i);

}

for(var i=0;i<li.length;i++){

console.log(i);

}

while(true){

continue;

break;

}

和python中的while循环一样

--- 条件语句:

if(条件){

}else if(条件){

}else{

}

switch(name){

case 1:

console.log(‘111‘);

break;

case ..:

....

default:

....

}

--- 异常处理:

try{

}catch(e){

}finally{

}

---  Dom让js动起来

obj = Foo()

obj.xx

document

1、先查找元素,再操作元素。

2、getElementsByTagName()

3、getElementById();

4、getElementsByClassName();

<div>

<div id="n1">c1</div>

<a>test</a>

<ul>

<li>a</li>

<li>b</li>

<li>c</li>

</ul>

</div>

<script src="" type="text/javascript">

var nid = document.getElementById(‘n1‘)

nid.innerText;                 查看标签内容

nid.innerText = "jake";   设置标签内容

var li_list=document.getElementByTagName(‘li‘);

for var i in li_list){

var item = li_list[i];

item.innerText=i;

}

</script>

将div的文本c1改为alex, console.log(nid.innerText); 显示标签内容

input内的值需要用.value获取

console.log(username.value,pwd.value);

<div>

<div id="num">1</div>

<input type="button" value="+1" onclik="Add();" />

</div>

<script type ="text/javascript">

var nid = document.getElementById(‘num‘);

var text = nid.innerText;

text = parseInt(text);

text += 1;

nid.innerText = text;

</script>

步骤:

1、找到num

2、获取内容

3、自增

1、事件

2、选择查找(选择器)

3、内容修改获取

innerText -标签中间文本内容

innerHTML-标签中间内容

特殊的:

input , select , textarea使用value获取值

--- 搜索框例子:

1、onfocus,onblur

2、选择搜索框。

3、获取搜索框内容 value

<body>

<input type="text" id="search" value="请输入关键字" onfocus="Focus();" onblur="Blur();" />

<script type="text/javascript">

function Focus(){

var nid=document.getElementById(‘search‘);

var value=nid.value;

if(value=="请输入关键字"){

nid.value="";

}

}

function(){

var nid=document.getElementById(‘search‘);

var value=nid.value;

if(!value.trim()){

nid.value = "请输入关键字";

}

}

</script>

</body>

---- 创建标签:

<script>

//创建标签,添加到container中

var nid=document.getElementById(‘container‘);

var tag = "<input type=‘text‘ />"

container.insertAdjacentHTML(‘beforeBegin‘,tag)

</script>

var creatObj = documet.createElment(‘a‘);

createObj.href = "http://www.etiantian.org";

createObj.innerText = "老男孩教育";

var nid = document.getElementById(‘container‘);

nid.appendChild(createObj);

--- 设置标签属性:

nid.setAttribute(‘name‘,‘aaa‘)

getAttribute

delAttribute

---- 表单:

<body>

<form action="/tijiao" method="post">

<input name="query" type="text" />

<input type="submit" value="提交" />

</ form>

</body>

-- 页面刷新:  window.location.reload()

-- 页面跳转: windows.location.href = "http://www.etiantian.org"

-- 定时器:

<script>

setInterval("操作",“间隔”)

setInterval("alert(‘123‘)",2000)

</script>

--- 筛选器:

<table>

<tr><td>Header 1</td></tr>

<tr><td>Value 1</td></tr>

<tr><td>Value 2</td></tr>

</table>

$("tr:eq(1)")

$(‘tr‘).eq(1)

num = input()

temp = "tr:eq("+ num +")"

$(temp)

 

时间: 2024-10-07 05:26:37

Python自动化开发从浅入深-进阶(script,dom,jquery 基础)的相关文章

Python自动化开发从浅入深-进阶(socketServer)

socketserver: --- 每一个连接过来都会单独创建一个线程. ---socketserver处理的线程数目与服务器资源配置有关 socketserver有四个基本的类: --- TCPServer ---UDPServer ---UnixStreamServer ---UnixDatagramServer 这四个类的同步请求,每一个请求只有完成后才能进行下一个请求.不适合进行长时间的大数据计算,所以需要单独创建进程或线程来处理每个请求.ForkingMixIn和ThreadingMi

Python自动化开发从浅入深-进阶(进程)

今天的作业涉及到了进程,那么就用作业来说明进程的用法: 这里我们定义了2个函数 getParamikoCmd 和 batchCmd,用于批量向远程服务器发送ssh命令,并返回执行结果. 执行batchCmd进行一些用户交互和参数获取(这里是一组服务器分组信息),循环发起进程批量执行ssh命令,每个进程调用getParamikoCmd 函数进行ssh命令执行. 进程之间是相互独立的,数据不会相互共享,这样可独立完成其任务而不会相互影响. def getParamikoCmd(groupName,s

Python自动化开发从浅入深-语言基础(collection)

-- collection是对内置数据类型的一种扩充,其主要扩充类型包括: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类,以增强可读性. def namedtuple(typename, field_names, verbose=False, rename=False): """Returns a new subclass of tuple with named fields. 返回一个新的命名域元组子类,typename为类型名,field

Python自动化开发从浅入深-语言基础(常用模块)

模块就是将一些相似功能的代码集中到一起,通过定义形象的模块名称,以便用户查找和使用. 通常模块分为三种:自定义模块,内置标准模块和开源模块. 自定义模块 和开源模块的使用参考 http://www.cnblogs.com/wupeiqi/articles/4963027.html  python中的一些常用模块包括以下几个: 一.time 和 datetime模块: 用于处理时间和日期的. import time import datetime print(time.clock()) #返回处理

Python自动化开发从浅入深-语言基础(正则表达式)

 正则表达式是处理字符串的强大工具,它通过一定的语法规则查找匹配字符串,并返回自己想获取的字符串值. 即让字符串与某种模式匹配,而获取一个新的序列. 如要使用正则表达式语法,需import re模块,然后使用 r"正则表达式" (解释性正则定义)定义正则规则,也可通过 re.compile(r"正则表达式") (编译性正则定义)进行正则定义,编译性正则定义效率较解释性正则定义要高. 一.正则表达式元字符包括: . ^ $ * + ? { [ ] \ | ( ) 元字

Python自动化开发从浅入深-语言基础(set)

set的概念有点类似于hash表,它是一个无序但不重复的元素集合.而列表.元祖和字典数据都是可以重复的. set可以方便的进行求交.差.对称差.并集等计算和比对,这在其他序列操作中则比较复杂.  如图,通过set命令就建立了一个set集合: 定义了set,我们就可以进行以下操作: 添加一个元素,如图,添加一个元素7 一次添加多个元素,如图,添加了7,9,11 删除一个元素,如图,将a中的5去掉 求set的长度,如图,求出长度为6 查看某个值是不是另一个set的元素,或不是另一个set的成员. 查

浅入深出Vue:第一个页面

今天正式开始入门篇,也就是实战了~ 首先我们是要做一个博客网站,UI 框架采用江湖传闻中的 ElementUI,今天我们就来利用它确定我们博客网站的基本布局吧. 准备工作 新建一个vue项目(可以参考基础篇里的搭建方法,也可以参考官网现在最近的 Vue CLI 3.x进行可视化创建和管理 安装 vue-router 安装 elementui 以上的操作都可以在之前的博文中(基础篇)找到完整步骤,这里就不重复了. 我们做完准备工作之后,目录结构如下: 我们来看看这个目录: |--public 公共

浅入深出ElasticSearch构建高性能搜索架构

浅入深出ElasticSearch构建高性能搜索架构  课程学习地址:http://www.xuetuwuyou.com/course/161 课程出自学途无忧网:http://www.xuetuwuyou.com 一.课程用到的软件 ElasticSearch5.0.0 Spring Tool Suite 3.8.2.RELEASE Maven3.0.5 Spring4 Netty4 Hadoop2.7.1 Kibana5.0 JDK1.8.0_111 二.课程目标 1.快速学习Elastic

老男孩教育Python自动化开发精英班-开班典礼感想

2016年1月14日   老男孩教育Python自动化开发精英班-第一天 期待中的老男孩教育Python自动化开发精英班开办了. 我知道对于我这个年龄进入这个班意味着什么?首先,精力不如年轻人,其次,单位繁杂的事务性工作较多.所以,从现在起必须对工作处理更加效率,休息时间要进行压缩,否则就不能腾出更多的时间学习,压力还是很大的. 我知道,在这个班中都是些年轻人,大家都为了掌握一门具备前瞻性.实用性和就业面宽广的本事而来,以后可以在社会上有更多的.更好的和收入可观的发展机会.有人问了,你都快退休了