web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记

hi

保持学习数量和品质

1、jQuery操作DOM元素

—-以attr()方法控制元素的属性

attr()术的图是设置或返回元素的性质,其中attr(属性名)格式是取元素属性名的值,attr(属性名,属性值)格式则是安元素属性名的值。

操纵就是获得和安装

<h3>attr()方法设置元素属性</h3>
<a href=”http://127.0.0.1″ id=”a1″>点自己就变</a>
<div>我转后底地点是:<span
id=”tip”></span></div>

<script type=”text/javascript”>
$(“#a1”).attr(“href”,”www.imooc.com”);
var $url = $(“#a1”).attr(“href”);
$(“#tip”).html($url);
</script>

—-操作元素的情节

使用html()text()道操作元素的内容,当半只方式的参数为空时,表示收获该因素的始末,而如方式中带有参数,则代表以参数值设置为元素内容。

运方式和attr()略有不同,但图基本相同

<h3>html()和text()方法设置元素内容</h3>
<div id=”html”></div>
<div id=”text”></div>

<script type=”text/javascript”>
var $content = “<b>唉,我还要转换肥了!</b>”;
$(“#html”).html($content);
$(“#text”).text($content);
</script>

—-操作元素的体

通过addClass()css()术可以方便地操作元素中的体,前者括号中之参数为长元素的体裁名称,后者直接用样式的性质内容写于括号中。

<body>
<h3>css()方法设置元素样式</h3>
<div id=”content”>我穿过了同码红色外衣</div>

<script type=”text/javascript”>
$(“#content”).css({“background-color”:”red”,”color”:”#fff”}) ;
</script>
</body>

—-移除属性与体裁

使用removeAttr(name)removeClass(class)分别可以实现移除元素的习性与体制的机能,前者方法中参数表示移除属于性名,后者方法被参数则表示移除的体制名

<body>
<h3>removeClass()方法移除元素样式</h3>
<div id=”content” class=”blue
white”>我去掉下了同等件蓝色外衣</div>

<script type=”text/javascript”>
$(“#content”).removeClass(“blue white”);
</script>
</body>

—-用append()方法为元素外多内容

append(content)措施的法力是通向指定的要素被长内容,被多的content参数,可以是字符、HTML元素标记,还可是一个回来字符串内容的函数。

<body>
<h3>append()方法追加内容</h3>

<script type=”text/javascript”>
function rethtml() {
var $html = “<div id=’test’
title=’hi’>我是调用函数创建的</div>”
return $html;
}
$(“body”).append(rethtml());
</script>
</body>

—-用appendTo()方法为受选元素内插入内容

appendTo()方呢可通往指定的元素外插入内容,它的行使格式是:

$(content).appendTo(selector)

参数content表示要插入的始末,参数selector表示于挑选的因素,即把content内容插入selector元素内,默认是以尾部。

<body>
<h3>appendTo()方法插入内容</h3>
<div>
<span class=”green”>小乌龟</span>
</div>

<script type=”text/javascript”>
var $html = “<span class=’red’>小青蛙</span>”
$($html).appendTo(“div”);
</script>
</body>

 注意这里的div若换为.red,效果会出异,自行实验和考虑吧。

—-以before()和after()在要素前后插入内容

使用before()after()主意可以以要素的前后插入内容,它们各自代表以全路因素的前和后栽指定的素或内容,调用格式分别吗:

$(selector).before(content)$(selector).after(content)

其中参数content表示插入的始末,该内容可以是因素或HTML字符串。

 

<body>
<h3>after()方法以要素之后栽内容</h3>
<span class=”green”>我们交个朋友吧!</span>

<script type=”text/javascript”>
var $html = “<span class=’red’>兄弟。</span>”
$(“span”).after($html);
</script>
</body>

—-用clone()方法复制元素

调用clone()办法可好成一个给选元素的副本,即复制了一个深受选元素,包含它的节点、文本和性,它的调用格式为:

$(selector).clone()

其中参数selector可以是一个素或HTML内容。

 

<body>
<h3>使用clone()方法复制元素</h3>
<span class=”red” title=”hi”>我是美猴王</span>

<script type=”text/javascript”>
$(“body”).append($(“span”).clone());
</script>
</body>

—-替换内容

replaceWith()replaceAll()措施还可以用于替换元素或因素中之内容,但它调用时,内容和于替换元素所于的职不同,分别吗如下所示:

$(selector).replaceWith(content)$(content).replaceAll(selector)

参数selector为叫调换的元素,content为轮换的始末。

 

<body>
<h3>使用replaceAll()方法替换元素内容</h3>
<span class=”green” title=”hi”>我是屌丝</span>

<script type=”text/javascript”>
var $html = “<span class=’red’
title=’hi’>我是土豪</span>”;
$($html).replaceAll(“span”);
</script>
</body>

—-用wrap()和wrapInner()方法包裹元素和内容

wrap()wrapInner()方式还可以展开元素的卷入,但前者用于包裹元素本身,后者则用来包裹元素被的情,它们的调用格式分别吗:

$(selector).wrap(wrapper)$(selector).wrapInner(wrapper)

参数selector为叫装进的元素,wrapper参数为包装元素的格式。比如<div></div>

<body>
<h3>使用wrapInner()方法包裹元素</h3>
<span class=”red” title=’hi’>我的身体稍微歪</span>

<script type=”text/javascript”>
$(“.red”).wrapInner(“<i></i>”);
</script>
</body>

—-用each()方法漫天历元素

使用each()艺术可遍历指定的素集合,在遍历时,通过回调函数返回遍历元素的行号,它的调用格式为:

$(selector).each(function(index))

参数function为全历时的回调函数,index为整历元素的队列号,它从0开始。

<body>
<h3>使用each()方法漫天历元素</h3>
<span class=”green”>香蕉</span>
<span class=”green”>桃子</span>
<span class=”green”>葡萄</span>
<span class=”green”>荔枝</span>

<script type=”text/javascript”>
$(“span”).each(function (index) {
if (index == 1) {
$(this).attr(“class”, “red”);
}
});
</script>
</body>

—-用remove()和empty()方法去元素

remove()法去所选元素本身以及子元素,该方法可以通过长过滤参数指定要去的某些因素,而empty()艺术虽然单纯去所选元素的子元素。

<body>
<h3>使用empty()方法去元素</h3>
<span class=”green”>香蕉</span>
<span class=”green”>桃子</span>
<span class=”green”>葡萄</span>
<span class=”green”>荔枝</span>

<script type=”text/javascript”>
$(“span”).empty(“.green”);
</script>
</body>

 

2、MySQL

—–操作数据表中的记录—–

mysql> CREATE TABLE users(
-> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> username VARCHAR(20) NOT NULL,
-> password VARCHAR(32) NOT NULL,
-> age SMALLINT NOT NULL DEFAULT 10,
-> sex BOOLEAN
-> );

—-插入记录INSERT

INSERT tbl_name [(col_name)] {VALUES|VALUE}…

如若省略字段,则指向持有字段进行赋值操作。若这时纪念保持主键的与日俱增,主键的VALUE写啊NULL/DEFAULT即可。而且,省略字段经常,必须还不得不针对具备赋值,每一个字段都使赋值,若未般配配会报错

mysql> INSERT users VALUES(NULL,’Tom’,’123′,23,1);

赋值可以写值,也可形容函数,或者默认值。这里插入多只价为条例。

mysql> INSERT users
VALUES(NULL,’Tom’,’123′,23,1),(NULL,’Rose’,md5(‘123’),DEFAULT,0);

mysql> SELECT * FROM users;
+—-+———-+———————————-+—–+——+
| id | username | password | age | sex |
+—-+———-+———————————-+—–+——+
| 1 | Tom | 123 | 23 | 1 |
| 2 | Tom | 123 | 23 | 1 |
| 3 | Rose | 202cb962ac59075b964b07152d234b70 | 10 | 0 |
+—-+———-+———————————-+—–+——+

—-其他插入记录之法子

–INSERT.. SET 

及INSERT不同之在于可展开子查询(SubQuery);且每次只能插入一久记下

INSERT tbl_name 

mysql> INSERT users SET username=’Ben’,password=’323′;

鉴于其他字段有默认或者非空,所以这么形容没错。

–INSERT…SELECT

—-更新(单表更新)UPDATE

接近INSERT…SET…的书方式

mysql> UPDATE users SET age=age+5;

mysql> SELECT * FROM users;
+—-+———-+———————————-+—–+——+
| id | username | password | age | sex |
+—-+———-+———————————-+—–+——+
| 1 | Tom | 123 | 28 | 1 |
| 2 | Tom | 123 | 28 | 1 |
| 3 | Rose | 202cb962ac59075b964b07152d234b70 | 15 | 0 |
| 4 | Ben | 323 | 15 | NULL |
+—-+———-+———————————-+—–+——+

这时候翻新所有列。

假定想翻新某些列,要为此到基准

mysql> UPDATE users SET age=age+10 WHERE id%2=0;

此地的意思是将偶数id的age加10之操作

—-删除记录(单表删除)DELETE

DELETE FROM tbl [WHERE …]

小心去后再度插入的id变化

mysql> DELETE FROM users WHERE id=2;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM users;
+—-+———-+———————————-+—–+——+
| id | username | password | age | sex |
+—-+———-+———————————-+—–+——+
| 1 | Tom | 123 | 27 | 0 |
| 3 | Rose | 202cb962ac59075b964b07152d234b70 | 12 | 0 |
| 4 | Ben | 323 | 21 | 0 |
+—-+———-+———————————-+—–+——+
3 rows in set (0.00 sec)

mysql> INSERT users SET username=’Ben’,password=’323′;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM users;
+—-+———-+———————————-+—–+——+
| id | username | password | age | sex |
+—-+———-+———————————-+—–+——+
| 1 | Tom | 123 | 27 | 0 |
| 3 | Rose | 202cb962ac59075b964b07152d234b70 | 12 | 0 |
| 4 | Ben | 323 | 21 | 0 |
| 5 | Ben | 323 | 10 | NULL |
+—-+———-+———————————-+—–+——+

id号是全自动增加,而不是智能的补,请留意。

—-查询SELECT

对于数据库最多以之语句。比如前面见了的SELECT * FROM users;

–查询表达式

每一个表达式表示怀念要之均等排列,必须发还至少有一个;

多单列次因,分隔

*代表所有列。tbl_name.*足代表命名表的享有列;

mysql> SELECT id,username FROM users;

呢得以改变各个来显示

mysql> SELECT username,id FROM userS;
+———-+—-+
| username | id |
+———-+—-+
| Tom | 1 |
| Rose | 3 |
| Ben | 4 |
| Ben | 5 |
+———-+—-+

为了以后多表查询的好,“全”查询这样描绘

mysql> SELECT users.id,users.username FROM users;

–给别名

mysql> SELECT id AS userid,username AS uname FROM users;
+——–+——-+
| userid | uname |
+——–+——-+
| 1 | Tom |
| 3 | Rose |
| 4 | Ben |
| 5 | Ben |
+——–+——-+

数码表中的号其实没变

—-WHERE条件

累加去一般要加,不然就是指向持有记录的操作;WHERE表达式中支持函数或运算符

—-GROUP BY查询结果分组

ASC升序, DESC降序

mysql> SELECT sex FROM users GROUP BY sex;
+——+
| sex |
+——+
| NULL |
| 0 |
+——+
2 rows in set (0.01 sec)

mysql> SELECT sex FROM users GROUP BY age ASC;
+——+
| sex |
+——+
| NULL |
| 0 |
| 0 |
| 0 |
+——+

—-having分组条件

mysql> SELECT sex,age FROM users GROUP BY sex HAVING age>20;
+——+—–+
| sex | age |
+——+—–+
| 0 | 27 |
+——+—–+

只顾having语句被的字段必须出现于select中,或者就索性是单聚合函数(max等)

—-查询结果进行排序ORDER BY

类似GROUP BY

mysql> SELECT * FROM users ORDER BY age,id DESC;

+—-+———-+———————————-+—–+——+
| id | username | password | age | sex |
+—-+———-+———————————-+—–+——+
| 5 | Ben | 323 | 10 | NULL |
| 3 | Rose | 202cb962ac59075b964b07152d234b70 | 12 | 0 |
| 4 | Ben | 323 | 21 | 0 |
| 1 | Tom | 123 | 27 | 0 |
+—-+———-+———————————-+—–+——+

专注这里排序的科班为了无休止一个,则先照age进行默认的升序,若遇同样之,则又按照id对相同之进展降序排列

—-LIMIT限制返回数量

mysql> SELECT * FROM users LIMIT 2,2;
+—-+———-+———-+—–+——+
| id | username | password | age | sex |
+—-+———-+———-+—–+——+
| 4 | Ben | 323 | 21 | 0 |
| 5 | Ben | 323 | 10 | NULL |
+—-+———-+———-+—–+——+

内需专注的凡如果只写一个数字2,是说起来算从的一定量个;这里的2,2凡乘,从第三久开始回到两长达,因为排列是默认从0开始之,所以这里是第三长条开始。

另外,限制的相继及id没有提到

mysql> SELECT * FROM users ORDER BY id DESC LIMIT 2;
+—-+———-+———-+—–+——+
| id | username | password | age | sex |
+—-+———-+———-+—–+——+
| 5 | Ben | 323 | 10 | NULL |
| 4 | Ben | 323 | 21 | 0 |
+—-+———-+———-+—–+——+

—-学习了SELECT之后

mysql> INSERT test(username) SELECT username FROM users WHERE
age>=20;

mysql> SELECT * FROM test;
+—-+———-+
| id | username |
+—-+———-+
| 1 | Tom |
| 2 | Ben |
+—-+———-+

虽好定向的追寻并勾画副

—-小结

笔录操作:增更删查

INSERT,UPDATE,DELETE,SELECT

3、面向对象

 —–基本实行—–

—-类的概念

恍如可作为是“一好像人”,具有相同的“属性”和“方法”(但相互之间呼应的价值不必然同);

性能,是类似的原有性质

方法,是类的“动作”

接近的目标称为类的实例化——对象就是属于类的某一个私房,类的具体化

好像的属性与措施是看似成员

—-类的实例化

从而实际的数额填满类的框架

<?php
/*
* 面对对象的就学记录用代码
*/
//定义类
class nbaPlayer{
public $name=”Jordan”;
public $height=”198cm”;
public $team=”Bull”;

public function __construct(){

}

public function run(){
echo “Running\n”;
}
}
//实例化
$jordan=new nbaPlayer();
//调用对象的性与道
echo $jordan->name.”\n”;
$jordan->run();

—-构造函数

__construct

默认调用,可以自定义来吃出类的默认值

采用方法是当函数中形容副变量,实例化的当儿如果被值

<?php
/*
* 面对对象的上学记录用代码
*/
//定义类
class nbaPlayer{
public $name;
public $height;
public $team;

public function __construct($name,$height,$team){
echo “constructing\n”;//判断是否调用了构造函数
$this->name=$name; //在点子吃之所以$this伪变量来传递参数
$this->height=$height;
$this->team=$team;
}

public function run(){
echo “Running\n”;
}
}
//实例化
$jordan=new nbaPlayer(“Jordan”,”198cm”,”Bull”);
//调用对象的属性与方
echo $jordan->name.”\n”;

$jordan->run();

$james=new nbaPlayer(“James”, “197cm”, “Heat”);

留神这里会输出两软构造函数。也就是说,每一样破实例化都见面调用一糟构造函数。

—-析构函数

__destruct()

描绘副析构函数后,

function __destruct(){
echo “destructing\n”;
}

结果如下

constructing Jordan Running constructing destructing destructing

也就是说,析构函数会当程序结束之早晚自动调用

还是,把实例化的目标赋值为null时也会调用析构函数

相似用于清理用的资源

—-对象引用

//对象的援
$james1=$james;

$james2=&$james;

里头,有&的援,两独对象的变更是联合的,可以视作是千篇一律种植映像。具体可为此点提到的析构函数来大概的印证。

 

 

 

网站地图xml地图