整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

javaScript-第三章

javaScript-第三章

认识DOM对象模型

DOM:Document Object Model(文档对象模型)

节点与节点的关系


1、访问节点,使用getElement系列方法访问指定节点

getElementById()、 getElementsByName()、

getElementsByTagName();

2、根据层次关系访问节点:

属性名称 描述

parentNode 返回节点的父节点

childNodes 返回子节点集合,childNodes[i]

firstChild 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点

lastChild 返回节点的最后一个子节点

nextSibling 下一个节点

previousSibling 上一个节点


elment属性:

属性名称 描述

firstElementChild 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点

lastElementChild 返回节点的最后一个子节点

nextElementSibling 下一个节点

previousElementSibling 上一个节点


节点信息表示:

nodeName:节点名称

nodeValue:节点值

nodeType:节点类型


操作节点的属性:

getAttribute("属性名")

setAttribute("属性名","属性值")


创建和插入节点:

名称 描述

createElement( tagName)创建一个标签名为tagName的新元素节点

A.appendChild( B)把B节点追加至A节点的末尾

insertBefore( A,B )把A节点插入到B节点之前

cloneNode(boolean)复制(克隆)某个指定的节点



删除和替换节点:

名称描述

removeChild( node)删除指定的节点

replaceChild( newNode, oldNode)属性attr 用其他的节点替换指定的节点


操作节点样式:

改变样式的属性

style属性

HTML元素.style.样式属性="值";


className属性

HTML元素.className="样式名称";


二、示例展示

1.轮播图示例

<!DOCTYPE html>

<html lang="en">


<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>轮播图显示</title>

</head>

<style>

* {

margin: 0;

padding: 0;

}


#outer {

width: 300px;

margin: 50px auto;

padding: 10px;

background-color: greenyellow;

text-align: center;

}


#outer>img {

width: 300px;

height: 300px;

}

</style>

<script>

window.onload=function () {

// 点击按钮切换图片

var prev=document.getElementById("prev");

var next=document.getElementById("next");

// 要切换图片就要修改img标签的src属性

var img=document.getElementsByTagName("img")[0];

var imgArr=["img/tou01.jpg", "img/tou02.jpg", "img/tou03.jpg", "img/tou04.jpg"];

// 创建一个变量,来保存当前正在显示的图片的索引

var index=0;

// 设置提示文字

var info=document.getElementById("info");


// 分别为两个按钮绑定单机响应函数 上一张函数


prev.onclick=function () {

index--;

// 判断index是否小于0

if (index < 0) {

index=imgArr.length-1;

}

img.src=imgArr[index];

info.innerHTML="共"+imgArr.length+"张图片"+"当前是第"+(index+1)+"张";

}

// 下一张函数

next.onclick=function () {

index++;

if (index > imgArr.length - 1) {

index=0;

}

img.src=imgArr[index];

// 当我在点击按钮以后在重新执行一遍

info.innerHTML="一共"+imgArr.length+"张图片"+"当前是第"+(index+1)+"张";

}

}


</script>


<body>

<div id="outer">

<p id="info">一共4张图片当前是第1张</p>

<img src="img/tou01.jpg" alt="" />


<button id="prev"><上一张</button>

<button id="next">下一张></button>

</div>


</body>


</html>


2.论坛发帖示例

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>制作课工场论坛发贴</title>

</head>

<style>

*{margin: 0; padding: 0; font-family: "Arial", "微软雅黑";}

ul,li{list-style: none;}

.bbs{margin: 0 auto; width: 600px; position: relative;}

header{padding: 5px 0; border-bottom: 1px solid #cecece;}

header span{display:inline-block; width: 220px; height: 50px; color: #fff; background: #009966; font-size: 18px; font-weight: bold; text-align: center;line-height: 50px; border-radius: 8px; cursor: pointer;}

.post{position: absolute; background: #ffffff; border: 1px #cccccc solid; width: 500px; left: 65px; top:70px; padding: 10px; font-size: 14px; z-index: 999999; display: none;}

.post .title{width: 450px; height:30px; line-height: 30px; display: block; border: 1px #cecece solid; margin-bottom: 10px;}

.post select{width: 200px; height: 30px;}

.post .content{width: 450px; height: 200px; display: block; margin: 10px 0;border: 1px #cecece solid;}

.post .btn{width: 160px; height: 35px; color: #fff; background: #009966; border: none; font-size: 14px; font-weight: bold; text-align: center; line-height: 35px; border-radius: 8px; cursor: pointer;}


.bbs section ul li{padding: 10px 0; border-bottom: 1px #999999 dashed;

overflow: hidden;}

.bbs section ul li div{float: left; width: 60px; margin-right: 10px;}

.bbs section ul li div img{ border-radius:50%; width: 60px;}

.bbs section ul li h1{float: left; width: 520px; font-size: 16px; line-height: 35px;}

.bbs section ul li p{color: #666666; line-height: 25px; font-size: 12px; }

.bbs section ul li p span{padding-right:20px;}

</style>

<body>

<div class="bbs">

<header><span onclick="showDiv();">我要发帖</span></header>

<section>

<ul id="showContent"></ul>

</section>

<div class="post" id="showSubmit">

<input class="title" placeholder="请输入标题(1-50个字符)" id="title">所属版块:

<select id="section">

<option>请选择版块</option>

<option value="电子书籍">电子书籍</option>

<option value="新课来了">新课来了</option>

<option value="新手报到">新手报到</option>

<option value="职业规划">职业规划</option>

</select>

<textarea class="content" id="content"></textarea>

<input class="btn" value="发布" onclick="publish();">

</div>

</div>

</body>

<script src="js/bbs.js"></script>

</html>

// 全局对象

var imgs=new Array("tou01.jpg", "tou02.jpg", "tou03.jpg", "tou04.jpg");

// 显示发帖div

function showDiv() {

document.getElementById("showSubmit").style.display="block";

}


// 点击发布添加内容到Li


function publish() {

// 获得随机头像的数组下标

var index=Math.floor(Math.random() * 4);

// 创建li节点

var tvLi=document.createElement("li");

// 创建div节点

var tvDiv=document.createElement("div");

// 创建img图片节点

var tvImg=document.createElement("img");


// 设置图片节点src属性

tvImg.setAttribute("src", "../threeClass/img/" + imgs[index]);


// div添加图片为子节点

tvDiv.appendChild(tvImg);

// 创建h1标签节点


var tvh1=document.createElement("h1");

// 取得发布div框里填充的标题的值填充到h1标签

var tvTitle=document.getElementById("title").value;

tvh1.innerText=tvTitle;

// 创建一个P标签节点

var tvP=document.createElement("p");

// 创建两个span标签节点

var tvSpanOne=document.createElement("span");

var tvSpanTwo=document.createElement("span");


// 第一个span标签取填充div里的下拉列表框所选的值

var tvSelect=document.getElementById("section").value;

tvSpanOne.innerText="板块:" + tvSelect;


// 第二个span标签取当前系统时间

var date=new Date();

var str=date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate() + "" + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();

tvSpanTwo.innerText="时间是:" + str;


// 两个span标签追加到p标签节点里

tvP.appendChild(tvSpanOne);

tvP.appendChild(tvSpanTwo);


// 把div、h1、p 、标签追加到li里


tvLi.appendChild(tvDiv);

tvLi.appendChild(tvh1);

tvLi.appendChild(tvP);


// 把添加好的li在插入到ul标签节点里

var oldUL=document.getElementById("showContent");

// 把新添加的li节点插入到捞的li节点之前

oldUL.insertBefore(tvLi, oldUL.firstChild);


// 清除div里填充过的内容,如标题和内容部分

document.getElementById("title").value="";

document.getElementById("content").value="";


// 设置发布div隐藏

document.getElementById("showSubmit").style.display="none";

}


效果图展示:file:///D:/ruanjian/VS/JS/threeClass/lunbotu.html

file:///D:/ruanjian/VS/JS/threeClass/lunbotu.html

TML 教程导读- (HTML5 标准):

HTML也叫作超文本标记语言,标准通用标记语言下的一个应用,您可以使用 HTML 来建立自己的 WEB 站点。通过学习本教程,您将可以使用 HTML 来创建站点。HTML 是非常容易学习的!相信您能很快学会它!


HTML发展史:

HTML没有1.0,因为关于它的初版存在争议,1995年HTML 2.0面世,1997年由国际官方组织W3C推出了HTML 3.2以及HTML 4.0标准,后面W3C(万维网联盟)也渐渐变成Web技术领域的权威,经过漫长的演变,2014年,HTML 5标准最终面世。

HTML 2.0——1995年11月,RFC 1866发布

HTML 3.2——1997年1月14日,W3C发布推荐标准

HTML 4.0——1997年12月18日,W3C发布推荐标准

HTML 4.01——1999年12月24日,W3C发布推荐标准

HTML 5——2014年10月28日,W3C发布推荐标准


HTML 实例:

在本教程中的每个章节中都会提供一定量的实例,使用编辑器,运行并修改这些实例,您可以深入掌握 HTML!

实例:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>test00-html课程导读实例</title>

</head>

<body>

<h1>这是一个标题</h1>

<p>这是一个段落。</p>

</body>

</html>

使用HBuilderX创建一个项目:

我是一名前端开发程序员,自己整理了一份2019最全面前端学习资料,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴

前端资料获取方式:

1.在你手机的右上角有【关注】选项,点击关注!

2.关注后,手机客户端点击我的主页面,右上角有私信,请私信回复:【学习】

电脑已经设置好了关键词自动回复,所以回复的时候请注意关键词哟~

建HTML网页时,可以采用多种布局和设计风格。以下是一些常见的网页形态名称,可用于不同的网站设计和功能需求:

1. **门户网站** - 集成了新闻、天气预报、邮箱等服务的网站。

2. **企业网站** - 用于展示公司信息、产品和服务。

3. **电子商务网站** - 用于在线销售商品。

4. **博客** - 用于个人或公司发布文章和日志。

5. **社交媒体网站** - 如Facebook和Twitter,用于社交互动。

6. **论坛** - 用户可以发帖和回帖讨论特定主题。

7. **新闻网站** - 提供新闻文章和更新。

8. **教育网站** - 用于在线课程和学术资源。

9. **政府网站** - 提供政府服务和信息。

10. **非营利组织网站** - 用于宣传和筹款。

11. **个人作品集** - 展示个人作品,如设计师和艺术家。

12. **在线百科全书** - 如维基百科,提供大量信息。

13. **食谱网站** - 提供食谱和烹饪技巧。

14. **健康与健身网站** - 提供健康和健身相关内容。

15. **旅行网站** - 提供旅行信息和预订服务。

16. **房地产网站** - 展示房产信息和经纪人。

17. **汽车网站** - 提供汽车信息和销售服务。

18. **科技新闻网站** - 关注最新科技发展和产品。

19. **音乐网站** - 提供音乐播放和下载。

20. **视频分享网站** - 如YouTube,用户可以上传和分享视频。

21. **电影数据库** - 如IMDb,提供电影信息和评论。

22. **体育网站** - 提供体育新闻和赛事信息。

23. **财经网站** - 提供股票市场和财经新闻。

24. **摄影网站** - 展示和分享摄影作品。

25. **时尚网站** - 提供时尚新闻和趋势。

26. **宠物网站** - 提供宠物护理和相关信息。

27. **美食博客** - 分享美食制作和餐厅评论。

28. **儿童网站** - 提供儿童教育和娱乐内容。

29. **DIY网站** - 提供手工制作和DIY项目。

30. **游戏网站** - 提供在线游戏和游戏新闻。

31. **星座占卜网站** - 提供星座运势和占卜。

32. **招聘网站** - 提供职位信息和求职服务。

33. **个人博客** - 个人分享生活和观点的博客。

34. **科技博客** - 关注科技产品和公司动态。

35. **书评网站** - 提供书籍评论和推荐。

36. **旅游博客** - 分享旅行经历和攻略。

37. **艺术画廊网站** - 展示和销售艺术品。

38. **在线市场** - 如Etsy,提供手工艺品和独特商品。

39. **在线课程平台** - 提供各种在线课程和培训。

40. **语言学习网站** - 提供语言学习和练习工具。

41. **健康咨询网站** - 提供健康和医疗建议。

42. **心理健康网站** - 提供心理健康信息和资源。

43. **个人财务网站** - 提供个人理财建议和工具。

44. **投资网站** - 提供投资策略和市场分析。

45. **环境与自然网站** - 关注环境保护和自然话题。

46. **历史与文化网站** - 提供历史和文化知识。

47. **宗教与灵性网站** - 提供宗教和灵性内容。

48. **政治评论网站** - 提供政治新闻和评论。

49. **在线论坛** - 用户可以讨论各种主题。

50. **慈善网站** - 用于宣传和筹集慈善捐款。

这些形态的名称代表了不同的网站类型和功能,可以根据您的需求和目标受众选择合适的网站形态。