MooTools教程(6):操纵HTML DOM元素

2016-02-20 00:41 26 1 收藏

下面是个MooTools教程(6):操纵HTML DOM元素教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Web开发 】

我们已经学习过如何来选取DOM元素,怎么创建数组,怎么创建函数,怎么把事件添加到元素,今天我们来深入地学习一下如果操纵HTML元素。通过MooTools 1.2,你可以添加新元素到一个HTML页面中,也可以删除元素,以及改变任何样式或者元素参数,这些都非常容易。

基本方法

.get();

这个工具可以让你获取元素的属性(property)。元素的属性是组成一个HTML元素的各种不同部分,例如src、value、name等等。使用.get();方法非常简单:

参考代码:  $().get();参考代码:  div id=    span id=Element/span /div

你可以使用.get();方法获得更多属性,而不只是html标记名:

id name value href src class(如果有多个CSS类名,则将返回全部CSS类名) text (一个元素的文本内容) 等等

.set();

.set();方法和.get();方法一样,不过不是获得一个值,而是设置一个值。当和事件联合使用时比较有用,通过这个方法你可以在页面加载之后改变一些属性值。

参考代码:  $().set(, );参考代码:  div id=        a id= href=Search Engine/a/div

.erase();

通过.erase();方法,你可以清除一个元素的属性值。它和前面两个方法类似。选取元素,然后选择你要清除的属性。

参考代码:  $().erase();参考代码:  div id=        a href=Search Engine/a/div移动元素

.inject();

要移动页面上一个已经存在的元素,你可以使用.inject();方法。和我们看到的其它方法类似,它用起来也非常简单,可以在你的用户界面上给你更多操控权。要使用.inject();方法,首先要设置一些包含元素变量:

参考代码:   elementA = $(); elementB = $(); elementC = $();

上面的代码把下面这个HTML分别赋值给了不同的变量,这样用MooTools来操作时会比较简单。

参考代码:  div id=    div id=A/div    div id=B/div    div id=C/div/div

现在,要改变这些元素的顺序,我们可以通过四种方式来使用.inject();方法。我们可以把元素注入到:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)底部(bottom,默认) 顶部(top) 在某个元素的前面(before) 在某个元素的后面(after)

bottom和top将把这个元素注入到一个选中元素的内部,在元素内最底部或者最顶部。相对地,before和after将把一个元素注入到另外一个元素的顶部或者底部,但是不是注入到元素内部。

因此,让我们把元素顺序改变为A-C-B。由于我们不需要把一个元素注入到另外一个元素的内部,我们可以使用before或者after。

参考代码:  elementC.inject(elementB, );  elementB.inject(elementC, );创建一个新元素

new Element

你可以使用new Element构造器来创建一个行的HTML元素。这和写一个正常的HTML元素非常类似,只不过你需要调整一下语法,以便能够在MooTools下正常运行:

参考代码:   newElementVar =  Element(, {        : ,    : ,    : {                : ,        : ,        : ,        :     }});

现在你就有一个元素了,你可以通过我们刚才学的inject();方法把这个元素放在页面上的某个位置。我们从下面这个简单的HTML开始:

参考代码:  div id=    div id=Some div content/div/div

现在,我们把ID为content_id的元素转换为一个变量:

参考代码:   bodyWrapVar = $();

和我们刚才学的一样,我们可以把我们创建的这个元素注入到当前的HTML中:

参考代码:  newElementVar.inject(bodyWrapVar , );

这个代码最终可能是这样的:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)参考代码:  div id=        div id=I am a  div/div    div id=Some div content/div/div示例

为了这个例子,我们来创建一个表单,可以让你添加一个行元素到你的HTML页面。首先,建立一些文本框和按钮。

参考代码:  div id=        ID:  input id= name= /        text:  input id= name= /        button id=创建一个新的div/button/div

现在,我们来用MooTools写JavaScript来实现让这个HTML表单可以插入一个新的元素到你的页面中。首先,我们先给这个按钮添加一个事件,并写一个函数来包含我们的代码:

参考代码:   newDiv = () {    }; window.addEvent(, () {    $().addEvent(, newDiv);});

下一件事我们要做的就是指定我们要处理的变量。要使用输入表单中的数据,我们需要使用.get();方法:

参考代码:   idValue = $().get(); textValue = $().get();

现在,上面代码中的变量idValue和textValue就包含了它们指定的输入表单的值。由于我们需要在用户点击创建一个新的div按钮时获得输入框的值,我们需要把上面的代码放在newDiv();这个函数中。如果我们需要在这个函数外面获得这个值,我们需要在页面加载时获得,而不是点击时。

参考代码:   newDiv = () {     idValue = $().get();     textValue = $().get();}; window.addEvent(, () {    $().addEvent(, newDiv);});

接下里,我们需要获得我们新元素要插入到的元素:

参考代码:   newDiv = () {     idValue = $().get();     textValue = $().get();     bodyWrapVar = $();}; window.addEvent(, () {    $().addEvent(, newDiv);});

我们已经有了我们的输入表单的值了,现在我们可以创建一个新元素了:

参考代码:   newDiv = () {     idValue = $().get();     textValue = $().get();     bodyWrapVar = $();      newElementVar =  Element(, {                : idValue,                : textValue    });}; window.addEvent(, () {    $().addEvent(, newDiv);});

剩下我们要做的就是把这个新元素插入到我们的页面中了:

参考代码:   newDiv = () {         bodyWrapVar = $();         idValue = $().get();         textValue = $().get();          newElementVar =  Element(, {                : idValue,                : textValue        });                 newElementVar.inject(bodyWrapVar, );};  removeDiv = () {                $().erase();} window.addEvent(, () {   $().addEvent(, newDiv);   $().addEvent(, removeDiv);});

代码效果演示

ID:
text:

你可以试试在id文本框中输入:ilovemilk

 

更多学习...

一定要花一些时间看一些MooTools文档中的Elements这一节:

这一节包含了我们这里讲到的大多数内容,还有很多其它内容 可以给你在元素样式属性上更多的控制权(有些东西我们将在以后的教程中深入讲解) 包含了处理位置、坐标、尺寸大小等东西的工具

来源:http://www.tulaoshi.com/n/20160220/1632393.html

延伸阅读
标签: Web开发
今天开始MooTools系列教程的第4讲。如果你还没有看过上一讲,请先查看上一篇教程。今天我们先不讲MooTools,而是讲一讲JavaScript中的函数(function)的基本知识。 但是,为了符合MooTools这个主题,你需要知道在哪里该使用MooTools的函数。此前,我们已经在我们的所有示例代码中,把代码都放在domready方法中。当我们需要把它放在domread...
标签: Web开发
MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的JavaScript代码。Mootools跟prototypejs相类似,语法几乎一样。但它提供的功能要比prototypejs多,而且更强大。比如增加了动画特效、拖放操作等等。建议大家可以用它来代替prototypejs。 我为什么选择mootools,抛弃了prototype. (...
标签: Web开发
jQuery选择器其实是一个有些地方比较费解的,如果没有经过多次实验的话,很难得出它的每个操作符到底是干什么的,很容易出错,经过我的多次测试,终于对一些比较难理解或容易出错的选择操作进行总结,既方便自己将来查询又方便初学者学习。如果哪里有不对的还望大家帮我指出来,这里是一个相互学习的地方。 1. 先说说通过位置选择的...
标签: Web开发
今天我们开始第五讲,在上一讲()中,我们学习了在MooTools 1.2中建立和使用函数的几种不同方式。下一步就是理解事件了。和选择器类似,事件也是建立互动界面的一个重要部分。一旦你掌握了一个元素,你需要去决定什么行为来触发什么效果。先把效果留着以后在讲,我们首先看一看中间步骤和一些常见的事件。 左键单击事件 左键单击事件是web...
标签: Web开发
先来看一张简单的文档树 很明显树的顶层节点是NodeA节点,接下来可以通过指定的合适节点移动到树中的任何点,结合以下的代码你可以更好的了解这棵树节点间的相互关系: NodeA.firstChild = NodeA1 NodeA.lastChild = NodeA3 NodeA.childNodes.length = 3 NodeA.childNodes[0] = NodeA1 NodeA.childNodes[1] = NodeA2 NodeA.childNodes...

经验教程

244

收藏

94
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部