本人也正在学习PHP,所以有些地方不好希望各位予以改正,谢谢
这几天一直再看php方面的书籍,但看到第三章就说要搭配php环境。于是,我就按着书本上的来搭配,一开始没有成功,后来又试了几次也没有成功,发现书本上的那个版本太老了,它是06年的apache,php,mysql的版本,所以就不想装那个版本了。不能放弃,继续在网上找新的版本的视图化安装教程,但是网上的人写的不是很清楚,谁让我那么菜呢,又失败了(两次的关键都是php和apache的配置)。今天我在网上找见一个版本叫wamp5的集成环境,把我高兴坏了。立即下载,安装,但是又出了点问题。我又缷载,重新装了一次成功了(刚刚失败的原因是我没有按照网上的教程去做而是自己更改些设置);向刚开始学php的人推荐wamp5,因为它集成了环境,不用自己去配置了,而不是像我走弯路,而且就有心里点受阻了。其次今天也同时发现了一个EditPlus这个编辑代码的工具很好用,推荐大家使用。〈小菜天天讲〉
今天一口气看了数据类型,赋值,运算符,函数,我把特别的地方给打出来了,如下
数据类型:
常量:预定义常量,自定义常量
变量:预定义变量,自定义变量
变量类型:整型变量,浮点型变量,字符型变量,布尔型变量,数组变量,对象型变量
传值赋值
引用赋值&
变量间的类型转换:settype(mixed var, string type)
变量的作用域:全局变量(在内存中保留一块区域$GLOBALS["变量名称"]),局部变量
二维数组赋值方法
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "多维数组的创建";
echo "</title>";
echo "</head>";
echo "<body>";
$arr[河南][0]="郑州";
$arr[河南][1]="开封";
$arr[河南][2]="洛阳";
$arr[河北][0]="石家庄";
$arr[河北][1]="邯郸";
$arr2=array(
"水果"=>array(
"苹果",
"梨"
),
"蔬菜"=>array(
"黄瓜",
"土豆",
"西红柿"
)
);
echo "<pre>";
print_r($arr);
print_r($arr2);
echo "</pre>";
echo "</body>";
echo "</html>";
?>
运算符:
自述运算符,赋值运算符,位运算符(针对整型,如果是字符串将操作其ascII值,比较运算符,三目运算符,错误运算符,错误控制运算符,
执行运算符,递增/递减运算符,逻辑运算符,字符运算符.,数组运算符,类运算符(instanceof)等
运算符的优先级
$result=true?0:true?5:3 result=3 可以理解成(true?0:true)?5:3
=== 全等 类型与值均相同
== 等于 值相同
字符串都被当作0对待
!= 不等
<> 不等
三目运算符,同时有三个变量参与
$a = 42;
$b = 15;
($a > $b)?($re ="\$a>\$b"):($re="\$a<\$b");
echo $re;
错误控制运算符@ 只对表达式有效,如可以把它放在变量,函数,include()调用,常量等之前。而不能把放在函数或类的定义之前,
也不能用于条件结构如if, for和each等内容之前。
$my_file=@file('不存在的文件') or die ("打开文件错误");
执行运算符` ,可执行操作系统命令,但在激活了安全模式或者关闭了shell_exec()函数是无效的。
++, --,前加加是先使用后加,后加加是先加后使用,减法相同。
php中对字母的操作:
f++ 可得g,g++可得h,h--可得g,这点与C不同,
php沿袭Perl如:Prel中'Z'+1='AA' 而在C中则 'Z'+1 = '[' 因为Z的ascII值为90,而且[的ascii值为91
数组运算符里面有个+
$c=$a+$b则是将b把a 里面没有的键值加入到a里面,键值相同的保留a 的键值。
php中的函数:
系统预定义函数,和用户自定义函数
函数的特殊定义:
有条件定义
嵌套定义
求最值函数:
min
max
用法要注意字母与数字,字符串,数据之间的比较,有点麻烦
<小菜天天讲>
今天忙另的,只有晚上看了一会儿,继续把函数搞玩,又搞了点目录的知识
进制转换函数:
字符串的长度:
strlen(),获取字符串长度函数但,mbstring() (要使用些函数,必须为php配置文件加载mbstring()扩展)也可以获取字符串的长度,注间两者的区别,后者要以用于统计汉字。
GB2312好像是汉字编码~
字符串的截取:
substr()截取字符串内容,同上面的一样如果要截取汉字的字符串内容,则要用mb_string扩展库中的mb_substr()函数来获取
字符串替换strtr(),substr_replace()
字符串的分割explode()
字符串的比较strcaxecmp(),strnatcmp()后者区分大小
大小字符转换(英文):strtolower(),strtoupper(),ucfirst(),ucwords()
字符与ascii:
chr将指定的序数转化为相应的ascii字符
ord返回一个字符对应的ascii码
其它字符串处理函数:
join()将数组转化为字符串
htmlspecialchars()将字符串的特殊符号转化为html标记
strrev()颠倒字符串
substr_count()计算一个字符串在另外的字符串中出现的次数
strripos()查找字符在字符串中首次出现的位置
md5()对一个字符串进行MD5加密
数组的处理:
cout()获取数组长度
array_keys()获取数据的键名
数组的排序arsort(),asort(),krsort(),rsort(),sort(),注意区别,用户自定义排序函数usort()(cmp函数为用户自己写的排序函数)
移动数组指针current(),end(),next(),prev(),reset()
移除重复的值array_unique()
合并数组array_merge()
检查数组中是否存在某个值in_array()
检查在数组中的值的出现次数array_count_values()
目录与文件
目录:
php对目录进行操作时必须打开目录句柄,目录句柄就是可以操作目录的指针只有打开目录句柄,才能对目录进行诸如readdir(),rewinddir()
,closedir()之类的操作
mkdir()创建目录 只能创建不存在的目录,如果存在会报错
rmdir()删除目录 只能删除存在的目录并且目录要为空,不然就会报错,这也说明rmdir具有的局限性,只能删除空目录
opendir()打开目录
readdir()浏览目录内容,还可以使用scandir()以数组的式返回指定的目录的全部信息
rewinddir()倒回目录
closedir()关闭目录
disk_total_space()返回目录占用的磁盘容量
disk_free_space()返回目录可用空间
〈小菜天天讲〉
文件的操作
file_exist()判断文件是否存在
只有使用了文件句柄才能对文件操作
诸如读取,写入一类的操作
fopen()打开文件
windows提供了一个文本转换标记"t",该标记可以透明的将转换为\r\n.与此对应还可以使用"b"标记来强制使用二进制模式这样就不会转换数据,
。要使用这些标记,要么用"b"或者用"t"作为mode参数后的最后一个字符。但在使用模式参数时,为移植性考虑,强烈建议在用fopen()打开文件
时总是用标记"b"。
fgetc()按字符读取文件,该函数返回文件指针处所指代的字符,如popen(),fsockopen()打开的可操作的文件句柄资源。如果文件指针已经指向
文件尾部即EOF,则函数会返回false.由于文件返回的是文件指针处的字符所以如果要返回文件的全部内容,则要去遍历了。
fgets()按行读取文件
file()函数读取文件所有内容,这个函数不用事先使用fopen()函数打开文件句柄。它可以直接将文件内容读取到一个数组变量中数组中的每个单元
就是文件中相应的一行,包括换行符在内。
file_get_contents()直接读取文件内容到变量。
fwrite()将字符串写入文件,多行内容也可写入,要注意打开文件的参数的选择
rewind()倒回文件指针
copy()复制文件,如果复制一个空字节的文件,copy()会返回false,但文件也会被正确复制
rename()重命名文件
unlink()删除文件
文件上传:
web表单进行文件上传时,必须设置表彰的ENCTYPE属性为multipart/form-data同时设置表单的action属性指向后台的处理页面
上传文件的处理
$_FILES自动全局变量
$_FILES["upfile"]["name"],表示上传文件的名称;
$_FILES["upfile"]["type"],表示上传文件的类型;
$_FILES["upfile"]["tmp_name"],表示上传文件的临时文件名(包括路径);
$_FILES["upfile"]["error"],表示上传文件是否有误;
$_FILES["upfile"]["size"],表示上传文件的大小;
在后台处理页面中要想要获得用户上传文件信息,只需要调用全局变量$_FILES的相关元素即可
文件上传后将被保存在一个临时目录中,由于临时目录将在一段时间内被删除,所以需要将文件进行转移。PHP中专门有个移动用户上传文件的函数
move_uploaded_file(),该函数将用户上传的文件转移到一个新的位置。本函数检查并确保由参数filename指定的文件是合法的上传文件(即通过PHP的HTTP
POST上传机制所上传的),如果文件合法,则将其移动为由参数destination指定的文件。如果参数filename 指定的不是合法的文件,不会出现任何操作
move_uploaded_file()将返回false.如果参数filename是合法的文件,但出于某些原因无法移动,函数不出现任何操作,move_uploded_file()将返回false
此外还会发出一条警告。
<小菜天天讲>
昨天睡得太晚了,今天起的又比较早,一天无神
exit()中止所有的PHP代码
获取客户端服务信息
获取客户端操作系统信息
global $_SERVER;global可以定义全局变量
预定义系统变量$_SERVER["HTTP_USER_AGENT"]
get_brower()获取客户端浏览器类型
$_SERVER["REMOTE_ADDR"]获取IP地址
phpinfo()获取服务器的全方面信息
time(),date()日期时间函数的使用
checkdate()日期时间的检验
session 和 cookie
session_start()启动session
session_register()注册session
调用session
session_destory()关闭session
〈小菜天天讲〉
session_is_registered()判断变量是否已经注册为session
使用isset($_session[])直接赋值的session的判断方法
session_save_path()来实现设置或者获取session的保存路径
释放session变量
以函数定义的session的注销方法session_unregister()该变量并没有完全注销一变量,只是将变量从session列表中移除了,如果要完全注销一个变量则要用到unset()
使用unset($_session[])直接赋值的session的注销方法
setcookie()注册cookie
reset($_COOKIE) //重置指针
while(list($key,$val)=each($_COOKIE)) //循环读取数组
{
echo "$key=>$val";
echo "<p>";
}
$_COOKIE["注册名"]直接引用
为cookie创建生命周期
header("Location: ^^.php");
类与对象
其实这点与C++相符的,可以说C++是它的鼻祖,好了简单来介绍下吧
定义一个类
为类初始化一个对象
类的继承
类的重载
类的引用
类的构造函数
常用类与对象操作函数
class_exists()检查类是否定义
get_class_methods()返回类的方法名
get_class_vars()返回类的属性
get_class()返回特定类的对象名
is_a()检查类与对象的关系
method_exists()检查方法是否存在
property_exists()检查对象是否具有某个属性
XML是一种数据存储语言
解析XML内容
load(),getElementsByTagName(),item()
向XML添加记录
appendChild()
setAttributeNode()
修改已有xml记录
setAttribute()修改属性的属性值
删除指定的XML记录
removeChild()删除已存在的某一攻节点对象
php与mySQL
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "连接到数据库";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
echo "成功连接到<p>".$host."服务器!";
}
else
{
echo "连接到".$host."服务器出现错误!";
}
mysql_close($my_connect);
echo "</body>";
echo "</html>";
?>
连接到mysql服务器
显示可用的数据库
mysql_list_dbs()显示服务器上所有的数据库,该函数返回一条数据集,可以使用函数mysql_fetch_row(),或者mysql_fetch_array()进行遍历
mysql_num_rows()
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "连接到数据库";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
echo "成功连接到<p>".$host."服务器!";
$result=mysql_list_dbs($my_connect);
$db_num=mysql_num_rows($result);
echo "当前服务器上数据库上的数目为".$db_num."<p>"."它们分别为:";
echo "<p>";
while($dbs=mysql_fetch_array($result))
{
echo $dbs[Database];
echo "<p>";
}
}
else
{
echo "连接到".$host."服务器出现错误!";
}
mysql_close($my_connect);
echo "</body>";
echo "</html>";
?>
创建数据库
PHP中执行SQL语句可以通过mysql_query()来实现
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "连接到数据库";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
echo "成功连接到<p>".$host."服务器!";
$sql="create database mydb";
$do=mysql_query($sql,$my_connect);
if($do)
{
echo "成功在服务器上创建新的数据库";
echo "<p>";
}
$result=mysql_list_dbs($my_connect);
$db_num=mysql_num_rows($result);
echo "当前服务器上数据库上的数目为".$db_num."<p>"."它们分别为:";
echo "<p>";
while($dbs=mysql_fetch_array($result))
{
echo $dbs[Database];
echo "<p>";
}
}
else
{
echo "连接到".$host."服务器出现错误!";
}
mysql_close($my_connect);
echo "</body>";
echo "</html>";
?>
在数据库中创建表
mysql_list_tables()
mysql_select_db("mydb",$my_connect);
〈小菜天天讲〉
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "连接到数据库";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
$result=mysql_list_tables("mydb",$my_connect);
$table_num=mysql_num_rows($result);
echo "当前mydb数据库中的表数为:"."<p>";
echo $table_num;
echo "<p>";
$sql="create table test1
(
id int(5) not null auto_increment primary key,
name char(10) not null,
sex char(2) not null,
age int (3) not null,
work char(10) not null,
city char(10) not null,
other char(50) not null
)";
mysql_select_db("mydb",$my_connect);
$do=mysql_query($sql,$my_connect);
if($do)
{
echo "成功在mydb数据库中创建表!"."<p>";
}
$result=mysql_list_tables("mydb",$my_connect);
$table_num=mysql_num_rows($result);
echo "当前数据库中的表数为:"."<p>";
echo $table_num;
}
else
{
echo "连接到".$host."服务器出现错误!";
}
echo "</body>";
echo "</html>";
?>
删除数据库
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "连接到数据库";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
/*$result=mysql_list_tables("mydb",$my_connect);
$table_num=mysql_num_rows($result);
*/
$sql="show databases";
//mysql_select_db("mydb",$my_connect);
$result=mysql_query($sql,$my_connect);
$db_num=mysql_num_rows($result);
echo "当前服务器上数据库数为:"."<p>";
echo $db_num;
echo "<p>";
$sql="drop database mydb";
$do=mysql_query($sql,$my_connect);
if($do)
{
echo "成功删除在服务器上的mydb库!"."<p>";
}
$sql="show databases";
/*$result=mysql_list_tables("mydb",$my_connect);
$table_num=mysql_num_rows($result);
echo "当前数据库中的表数为:"."<p>";
echo $table_num;*/
$result=mysql_query($sql,$my_connect);
$db_num=mysql_num_rows($result);
echo "当前服务器上数据库数为:"."<p>";
echo $db_num;
echo "<p>";
while($dbs=mysql_fetch_array($result))
{
echo $dbs[Database];
echo "<p>";
}
}
else
{
echo "连接到".$host."服务器出现错误!";
}
echo "</body>";
echo "</html>";
?>
删除数据库的表和创建表代相差不多,drop table table_name
数据表的操作
向表中添加记录
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "连接到数据库";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
mysql_select_db("mydb",$my_connect);
$sql="select * from test1";
$result=mysql_query($sql,$my_connect);
$re_num=mysql_num_rows($result);
echo "表test1中现有记录数为:"."<p>".$re_num."<p>";
$sql="insert into test1(name,sex,age,work,city,other) values('目','男','88','影','叶','尽')";
mysql_query($sql,$my_connect);
$sql="select * from test1";
$result=mysql_query($sql,$my_connect);
$re_num=mysql_num_rows($result);
echo "表test1中的现有记录数为:";
echo "<p>";
echo $re_num."<p>";
echo "内容为:";
$detail=mysql_fetch_array($result,MYSQL_ASSOC);
echo "<p>";
print_r($detail);
}
else
{
echo "连接到".$host."服务器出现错误!";
}
echo "</body>";
echo "</html>";
?>
浏览表中已有记录
查寻字段基本上和SQL2008差不多,不再缀术
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "显示表中已有的记录";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
mysql_select_db("mydb",$my_connect);
$sql="select * from test1";
$result=mysql_query($sql,$my_connect);
$re_num=mysql_num_rows($result);
echo "表test1中现有记录数为:"."<p>".$re_num."条<p>";
echo "<table border=\"1\">";
echo "<tr>";
echo "<td>ID</td>";
echo "<td>name</td>";
echo "<td>sex</td>";
echo "<td>age</age>";
echo "<td>work</td>";
echo "<td>city</td>";
echo "<td>beizhu</td>";
echo "</tr>";
while($detail=mysql_fetch_row($result))
{
echo "<tr>";
echo "<td>".$detail[0]."</td>";
echo "<td>".$detail[1]."</td>";
echo "<td>".$detail[2]."</td>";
echo "<td>".$detail[3]."</td>";
echo "<td>".$detail[4]."</td>";
echo "<td>".$detail[5]."</td>";
echo "<td>".$detail[6]."</td>";
echo "</tr>";
}
echo "</table>";
/*$sql="insert into test1(name,sex,age,work,city,other) values('目','男','88','影','叶','尽')";
mysql_query($sql,$my_connect);
$sql="select * from test1";
$result=mysql_query($sql,$my_connect);
$re_num=mysql_num_rows($result);
echo "表test1中的现有记录数为:";
echo "<p>";
echo $re_num."<p>";
echo "内容为:";
$detail=mysql_fetch_array($result,MYSQL_ASSOC);
echo "<p>";
print_r($detail);*/
}
else
{
echo "连接到".$host."服务器出现错误!";
}
echo "</body>";
echo "</html>";
?>
修改已存在的记录
<小菜天天讲>
<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "删除表中已有的记录";
echo "</title>";
echo "</head>";
echo "<body>";
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
if($my_connect)
{
mysql_select_db("mydb",$my_connect);
function show_id4()
{
$host="localhost";
$user="root";
$password="";
$my_connect=mysql_connect($host,$user,$password);
mysql_select_db("mydb",$my_connect);
$sql="select * from test1";
$result=mysql_query($sql,$my_connect);
echo "<table border=\"1\">";
echo "<tr>";
echo "<td>ID</td>";
echo "<td>name</td>";
echo "<td>sex</td>";
echo "<td>age</age>";
echo "<td>work</td>";
echo "<td>city</td>";
echo "<td>beizhu</td>";
echo "</tr>";
while($detail=mysql_fetch_row($result))
{
echo "<tr>";
echo "<td>".$detail[0]."</td>";
echo "<td>".$detail[1]."</td>";
echo "<td>".$detail[2]."</td>";
echo "<td>".$detail[3]."</td>";
echo "<td>".$detail[4]."</td>";
echo "<td>".$detail[5]."</td>";
echo "<td>".$detail[6]."</td>";
echo "</tr>";
}
echo "</table>";
}
show_id4();
$sql2="delete from test1 where id=3";
mysql_query($sql2,$my_connect);
echo "<p>";
echo "修改后的内容为:";
show_id4();
}
else
{
echo "连接到".$host."服务器出现错误!";
}
echo "</body>";
echo "</html>";
?>
高级SQL查询
where条件查询
like模糊查询
limit限制返回结果$sql="select * from test1 limit 1,4"; 其中1代表依偏移量,4代表返回记录数
也可以这样$sql="select * from test1 limit 4"; 这样是返回前四条结果集
order by排序 desc降序
Ajax是局部刷新的技术关于更多的ajax请参考相关资料
这里有个简单的例子
<html>
<head>
<title>第一个Ajax程序</title>
</head>
<body>
<script type="text/javascript">
var xmlHttp;
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
alert("获取结果为:"+xmlHttp.responseText);
}
}
xmlHttp.open("GET","12.xml",true);
xmlHttp.send(null);
</script>
</body>
</html>
建立一个XML文件的内容里面有内容为Hello world
XMLHTTPRequest对象
些对像常用属性
onreadystatechange 当对象状态发生改变时都会触发这个事件处理器。该属性通常指向一个函数,由函数对对象状态的改变做出相应的改变
readyState 该属性表示对象对服务器的请求状态,共有五个值。其中0表示对对象未初始化;1表示对象正在加载;2表示已经加载;3表示正在交互中;4表示完成
responseText 该属性表示将服务器对请求的响应表示为一个文本字符串
status 该属性表示为服务器的HTTP状态码(数值型)。如:200对应OK,403对应Forbidden,404对应Not found
statusText 该属性表示为服务器的HTTP状态码对应的文本内容。如OK,forbidden,Not found
abort() 该方法将取消当前对象的服务器请求
getAllResponseHeaders() 该方法将以字符键/值对的形式,返回所有对服务器的HTTP请求首部
getResponseHeader("header") 该方法将以字符串的形式,返回指定的对服务器的请求首部
open("method","url") 该方法将建立对服务器的调用。参数method(方法)有GET,POST,PUT三种可用值;参数url表示请求的URL,可以是相对路径也可以是绝对路径,
该方法使用第三个参数
send(content)该方法将向服务器发送请求
setRequestHeader("header","value") 该方法将把指定的首部设置为所指定的值。在使用该方法之前必须使用open()方法
<html>
<head>
<title>XMLHTTPRequest对象使用实例</title>
<script language="javascript">
var xmlHttp;
xmlHttp=create_obj();
function create_obj()
{
var xmlHttp;
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
return xmlHttp;
}
function process()
{
name=document.getElementById("myname").value;
xmlHttp.open("GET","13.php?name="+name,true);
xmlHttp.onreadystatechange=handle_f;
xmlHttp.send(null);
}
function handle_f()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
result=xmlHttp.responseText;
document.getElementById("message").innerHTML="<b><u>"+result+"<u></b>";
}
else
{
alert("执行过程中出现问题,服务器返回:"+xmlHttp.statusText);
}
}
}
</script>
</head>
<body>
请输入你的名字:
<p>
<input type="text" id="myname">
<p>
<input type="button" value="提交" οnclick="process()">
<p>
<div id="message"></div>
</body>
</html>
13.php
<?php
header('Content-Type:text/html;charset=GB2312');
$arr[0]="孙悟空";
$arr[1]="小哪托";
$arr[2]="葫芦娃";
$arr[3]="米老鼠";
$arr[4]="唐老鸭";
$arr[5]="机器猫";
if(in_array($arr,$_GET[name]))
{
echo $_GET[name]."保存在列表里";
}
else
{
echo $_GET[name]."不在列表里";
}
?>
DOM对象的属性和方法
处理XML文档的DOM元素属性
chileNodes该属性将返回当前元素的所有子元素数组
firstChild该属性将返回当前元素的每一个子元素
lastChild 该属性将返回当前元素的最后一个元素
nextSibling 该属性将返回紧跟在当前元素后的元素
nodeValue 该属性将指定表示元素的读/写属性
parentNode 该属性将返回当前元素的父结点
previouSibling 该属性将返回紧邻当前元素的之前的元素
遍历XML文档的DOM元素方法
getElementById(document) 该方法将获取有指定唯一ID属性的文档元素
getElementsByTagName(name) 该方法将返回当前元素中有指定标记名称的子元素的数组
hasChildNodes() 该方法将判断指定元素是否存在子元素,并返回布尔值
getAttribute(name) 该方法将返回元素的属性值
动态编辑页面内容时所用的DOM属性和方法
document.createElement(tagName) 该方法将为文档对象上创建一个以参数tagName命名的一个新的元素。如果参数为div则将会生成一个div元素
document.createTextNode(text) 该方法将会为文档对象创建一个有静态文本text节点
element.appendChild(childNode) 该方法将为element添加一个新的子节点。如:使用此方法可以为select列表框增加新的option选项
element.getAttribute(name) 该方法获取element元素的name属性值
element.setAttribute(name,value) 该方法将为element元素的name属性设置新的value值
element.insertBefore(new Node,targetNode) 该方法将为element元素插入一个新的节点newNode,该节点位于targetNode之前
element.removeAttribute(name) 该方法为element元素移除一个以name命名的属性
element.removeChild(childNode) 该方法将为element元素移除一个,参数childNode指定的子节点
element.replaceChild(newNode,oldNode) 该方法将把element元素中的,oldNode节点替换为oldNode节点
element.hasChildnodes() 该方法将判断element元素是否含有子元素
<小菜天天讲>
用DOM对象的appendChild()方法与removeChild()方法来动态加载SELECT选择框的OPTION选择内容
<html>
<head>
<title></title>
<script language="javascript">
function change(obj1,obj2)
{
t1=document.getElementById(obj1);
t2=document.getElementById(obj2);
if(obj1=="s1")
{
temp_i=2*t1.selectedIndex+1;
}
else
{
temp_i=t1.selectIndex;
}
result=t1.childNodes;
sub_t1=result[temp_i];
temp_o=sub_t1.getAttribute("value");
temp_v=sub_t1.childNodes[0].nodeValue;
t1.removeChild(sub_t1);
t2.appendChild(sub_t1);
}
</script>
</head>
<body>
单击副列表框选项,所先项将会出现在另一个列表中
<p>
<select id="s1" size="10" style="width:100px" οnclick="change('s1','s2')">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<select id="s2" size="10" style="width:100px" οnclick="change('s2','s1')">
</select>
</body>
</html>
动态为对象设置及删除属性
<html>
<head>
<title>动态为对象设置及删除属性</title>
<script language="javascript">
function f1()
{
obj=document.getElementById("title");
obj.setAttribute("size","5");
obj.setAttribute("color","#ff0000");
}
function f2()
{
obj=document.getElementsByTagName("img");
obj[0].setAttribute("src","1.jpg");
obj[0].setAttribute("border","1");
obj[0].setAttribute("width","260");
obj[0].setAttribute("height","260");
}
</script>
</head>
<body>
<font id="title">使用DOM,访问元素属性</font>
<p>
<img>
<p>
<input type="button" value="" οnclick="f1()">
<input type="button" value="" οnclick="f2()">
</body>
</html>
到这里呢,我想说语言都是相通的,只不过有些地方要注意而已,学习一门语言,把基本的知识理解后,就是看到的看和调试代码了,看到好的代码去仔细研究下,时间久了,就越来越懂的……
<小菜天天讲>