html图片绑定一个值点击提交ajax怎么写_读书笔记《DOM编程艺术》JavaScript图片库...

利用JS来创建图片库:把整个图片库的浏览链接集中安排在图片库主页里,只在用户点击了这个主页里的某个图片链接时才把相应的图片传送给他。

(最适合于用浏览器来查看的尺寸:400像素*300像素。我做的色卡不是这个尺寸,勉强用用吧。占位符不是我做的,ps打不开了,不做了,就直接网上下载的,侵删)

步骤一:写静态

静态页面如下:

a576dc4bd6b268a6e2a26046b5f547c0.png

8dfcdc63b3633f81859f297929fdeccb.png

249883be021f02d4b772d547c333f4d7.png

页面效果:

9caa407846e3069d44a9d8e11b1b81bc.png

步骤二: 写函数

4fa92662197756544fa239d6f5ac5a06.png

步骤三、将静态和函数连接起来,并绑定相应元素的事件处理函数。

tips:若一个站点用到多个JS文件,为了减少对站点的请求次数(提高性能),应该把这个js文件合并到一个文件中。

事件处理函数的作用是:在特定事件发生时调用特定的js代码。

工作机制:在给某个元素添加了事件处理函数之后,一个事件发生,相应的js代码就会得到执行。被调用的js代码可以返回一个值,这个值被传递给那个事件处理函数。

我们的代码中,给a绑定事件函数,如果返回了true,onclick事件梳理函数就会认为这个链接被点击了,就会进行跳转,把用户带到目标链接窗口,我们让塔返回false,不让它进行跳转。

b9b24e5215f4617ba1d57b738711db32.png

现在我们页面上已经实现了点击哪个图片,占位符就显示哪张图片的效果了。

d7b0bdfa941bf9bfc71f3a8457845d97.png

327c11b4115946248e42432ad117f212.png

现在我们增加点功能,我们让每张图片带的title替换掉p标签中的描述语句。

步骤四、拿到每张图片的title,替换掉相应的描述语句。

ac0a0b435e6b139b811ec38b08544cf3.png

65f8918eb1dc14129e051bdadb55c408.png

1dc770b29ae1ca6a41a36c4be9e6aac9.png

有几个知识点需要注意一下:

非DOM解决方案

不用setAttribute方法也可以改变图片的src属性。

setAttribute方法是“第1级DOM”的组成部分,它可以设置任意元素节点的任意属性,在“第1级DOM”出现之前,可以通过另一种方法设置大部分元素的属性:

element.value = "the new value"

等价于

element.setAttribute(‘value’,‘the new value’)

这个方法可以对图片、表单及其他一些元素的属性进行设置,但setAttribute可以对任意元素的任意属性进行设置。

“第1级DOM”的另一个优势是:可移植性更好。

老方法只适用于Web文档,DOM则适用于任何一种标记语言。

DOM是一种适用于多种环境和多种程序设计语言的通用型API。

1.childNodes 属性

提取了title的值之后要把它插入到HTML文档中。

childNodes 属性可以用来获取任何一个元素的所有子元素,它是一个包含这个元素全部子元素的数组。

element.childNodes

a07d45f1e301baaec3600f132006afe2.png

bb20790c6d19d2b7cd86ec7abea292a3.png

由childNodes属性返回的数组包含所有类型的节点,而不仅仅是元素节点。

2.每一个节点都有nodeType属性,nodeType的值并不是英文。

node.nodeType

nodeType属性的值总共有12种可取值,但其中仅有三种具有实用价值。

000.元素节点:1

000.属性节点:2

000.文本节点:3

c9e4091852923c53ed2e3f19b967eb97.png

2164212118b7a1285414bf4a4c143267.png

3.nodeValue 属性

如果想改变一个文本节点的值,那就使用DOM提供的nodeValue属性,它用来得到和设置一个节点的值。

node.value

直接去取某个元素的value值,得到的是某个元素本身的nodeValue属性的值,为null。

0af011bf45fade74aba434ca999f1e69.png

我们需要的是元素所包含的文本的值。

包含在p元素中的文本是另一种节点,它是p元素的第一个子节点。

059f2c38a66f6ca8ab9d5f847dc021d1.png

5bef74d7acfa82decaabd80a8f3801d1.png

4.firstChild 和 lastChild 属性

node.firstChild node.lastChild

nodeValue 属性不仅可以用来检索节点的值,还可以用来设置节点的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值