一周学会Mootools 一.四国语教程:(1)Dom采纳器

利器:
  君欲善其事须先利其器,行吗因为我们的光阴相比较急迫,唯有三天而已,那么三日的时光用死记硬背的秘诀学会Mt犹如天方夜谭,因而我们供给借鉴一下艾德itplus的素材栏帮大家回忆就好了,当大家供给用到何以函数的时候平昔从质感里找一下双击就行了.
艾德itplus的资料是允许大家生死相许开展示公布局的,上面的文书是本身早就配备好的Mt1.4的素材文件,我们能够一贯下载,然后将此文件放入艾德itplus的材质文件夹底下就行了.
Mootools1.4.zip

看小编的操作动画:

图片 1

看完动画之后相信我们温馨安排editplus的材质已经无妨难题了呢,那个材质文件是自身编辑的,假使大家觉得有怎么着错误或遗漏之处,能够协调使用editplus修改一下那个文件即可,修改完保存之后最棒重新打开一下editplus这么些软件.

在那一个材质文件里本身把Mt一.4的着力措施都放进来了,其它简单放了多少个插件的用法,那一个质地的故事情节即为大家接下去供给上学的内容.

Dom选择器:
Mt的选用器基本得以知道为两类:那一点和jq分化(jq是$打天下),那两类分别是:
$:id选拔器(只好针对id选拔).
$$:混合选用器(和jq的$是均等的).

小编们先看一下id选拔器,在mt里$和document.id都能依据id选取节点,经常$是最常用的.大家来看个例证:

<div id='a'></div>
$('a')...

注意:那种用法不须要用#号.

$$和jq的$是同一的,能够混合选择,然则平时本人很少在用那几个,固然它作用很强,不过与id选用器比起来其实算不上高效,当然了Mt有办法取代它,别着急大家一会再讲,大家先看$$的例证:

<div id='a' class='a1'></div>
<div id='b'><b>a</b></div>
<div id='c'></div>

$$('#a')...//根据id选择,需要#号
$$('.a1')...//根据class选择
$$('div.a1')...//双重条件
$$('#b b')...//选择<b>a</b>
$$('#a,#b,#c')...//选择多个

…..更多请看质感文件内的selector部分

用过jq的对象应该清楚,在jq内$选用器要是写的太复杂,那么效能是非常低的,同样,Mt的$$和jq的$神似,那么大家有未有法子来革新$$的频率呢,当然是局地,看上面:

getElement:从上级节点开始匹配一个下级节点
getElements:从上级节点开始匹配多个下级节点(类似jq的find)
getElementById:从上级节点根据id开始匹配一个下级节点

…..越来越多请看资料文件内的selector部分

好了,那作者总结举多少个例子给大家演说一下他是怎么着取代$$的.

$(document.body).getElement('div');//在当前页面内找寻第一个div
$('a').getElements('div');//在id='a'的容器里找寻所有的div
$('a').getElementById('b');//在id='a'的容器里找寻id='b'的节点

….还有更加多的艺术,大家能够看材质文件内的selector部分

那种迭代相配的主意比复杂的css选取器语句的频率要高.所以固然大家很在乎效能,那么小编提议多使用$和迭代找寻形式,尽量少用$$,不过壹旦您曾经见惯司空了jq的不贰秘诀且不在乎效用,那么你就一向用$$就行了.$$和jq的$用法是完全相同的.

$$1些相比较复杂的相称情势在材质文件里都有,大家能够看看,即使记不住也没涉及,只要知道如何能同盟哪些不可能相称,在实际上利用中平昔双击素材添加就行了.

完整的范例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>http://hi.baidu.com/see7di/home</title>
<script style="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.4.1/mootools-yui-compressed.js"></script>
</head>

<body id='a'>
    <h2 class='a'>Single images</h2>
    <p>
    <a class='b' title="T1" href="http://www.digitalia.be.jpg"><img src="img/map1.png"></a>
    <a class='c' title="B1" href="http://www.digitalia.be.jpg"><img src="img/map2.png"></a>
    </p>
<script type='text/javascript'>
    alert($('a').get('html'));
    alert($$('.a').get('tag'));
    alert($$('h2.a').get('text'));
    $$('h2.a').set('text','重新设置一下内容!');
    alert($$('h2.a').get('text'));

    alert($$('.b').get('href')+'\n'+$$('.b').getProperty('href'));
    $$('.b').setProperty('href','#')
    alert($$('.b').get('href')+'\n'+$$('.b').getProperty('href'));

    console.log('此内容输出值Firebug的控制台!');
</script>
</body>
</html>

上面是本身找来的1篇关于css选用器的稿子,对大家上学接纳器很有帮衬。
  

 1. *
    * {margin: 0; padding: 0;}
    星状选择符会在页面上的每一个元素上起作用。web设计者经常用它将页面中所有元素的margin和padding设置为0。
    *选择符也可以在子选择器中使用。
        #container * { border: 1px solid black;}
    上面的代码中会应用于id为container元素的所有子元素中。
    除非必要,我不建议在页面中过的的使用星状选择符,因为他的作用域太大,相当耗浏览器资源。
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    2. #X
    #container {width: 960px;margin: auto; }
    井号作用域有相应id的元素。id是我们最常用的css选择器之一。id选择器的优势是精准,高优先级(优先级基数为100,远高于class的10),作为javascript脚本钩子的不二选择,同样缺点也很明显优先级过高,重用性差,所以在使用id选择器前,我们最好问下自己,真的到了非用id选择器的地步?
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    3. .X
    .error {color: red;}
    这是一个class(类)选择器。class选择器与id选择器的不同是class选择器能作用于期望样式化的一组元素。
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    4. X Y
    li a { text-decoration: none;}
    这也是我们最常用的一种选择器——后代选择器。用于选取X元素下子元素Y,要留意的点是,这种方式的选择器将选取其下所有匹配的子元素,无视层级,所以有的情况是不宜使用的,比如上述的代码去掉li下的所有a的下划线,但li里面还有个ul,我不希望ul下的li的a去掉下划线。使用此后代选择器的时候要考虑是否希望某样式对所有子孙元素都起作用。这种后代选择器还有个作用,就是创建类似命名空间的作用。比如上述代码样式的作用域明显为li。
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    5. X
    a { color: red; }  
    ul { margin-left: 0; }
    标签选择器。使用标签选择器作用于作用域范围内的所有对应标签。优先级仅仅比*高。
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    6. X:visited和X:link
    a:link { color: red; }   
    a:visted { color: purple; }
    使用:link伪类作用于未点击过的链接标签。:hover伪类作用于点击过的链接。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    7. X+Y
    ul + p {color: red;}
    相邻选择器,上述代码中就会匹配在ul后面的第一个p,将段落内的文字颜色设置为红色。(只匹配第一个元素)
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    8. X>Y
    div#container > ul { border: 1px solid black;}
    <div id=”container”>
        <ul>
            <li> List Item
                <ul>
                    <li> Child </li>
                </ul>
            </li>
            <li> List Item </li>
            <li> List Item </li>
            <li> List Item </li>
        </ul>
      </div>
    子选择器。与后代选择器X Y不同的是,子选择器只对X下的直接子级Y起作用。在上面的css和html例子中,div#container>ul仅对container中最近一级的ul起作用。从理论上来讲X > Y是值得提倡选择器,可惜IE6不支持。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    9. X ~ Y
    ul ~ p { color: red;}
    相邻选择器,与前面提到的X+Y不同的是,X~Y匹配与X相同级别的所有Y元素,而X+Y只匹配第一个。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    10. X[title]
    a[title] { color: green;}
    属性选择器。比如上述代码匹配的是带有title属性的链接元素。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    11. X[title="foo"]
    a[href="http://blog.moocss.com"] { color: #1f6053; }
    属性选择器。 上面的代码匹配所有拥有href属性,且href为http://blog.moocss.com的所有链接。
    这个功能很好,但是多少又有些局限。如果我们希望匹配href包含css9.net的所有链接该怎么做呢?看下一个选择器。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    12. X[href*="moocss"]
    a[href*="moocss"] {color: #1f6053;}
    属性选择器。正如我们想要的,上面代码匹配的是href中包含”http://blog.moocss.com“的所有链接。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    13. X[href="http"]
    a[href="http"] {background: url(path/to/external/icon.png) no-repeat; padding-left: 10px;}
    属性选择器。上面代码匹配的是href中所有以http开头的链接。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    14. X[href$=".jpg"]
    a[href="http"] { background: url(path/to/external/icon.png) no-repeat;padding-left: 10px;}
    属性选择器。在属性选择器中使用$,用于匹配结尾为特定字符串的元素。在上面代码中匹配的是所有链接到扩展名为.jpg图片的链接。(注意,这里仅仅是.jpg图片,如果要作用于所有图片链接该怎么做呢,看下一个选择器。)
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    15. X[data-*="foo"]
    在上一个选择器中提到如何匹配所有图片链接。如果使用X[href$=".jpg"]实现,需要这样做:
    a[href$=".jpg"],
    a[href$=".jpeg"],
    a[href$=".png"],
    a[href$=".gif"] {
        color: red;
    }
    看上去比较麻烦。另一个解决办法是为所有的图片链接加一个特定的属性,例如‘data-file’
    html代码
    图片链接
    css代码如下:
    a[data-filetype="image"] {
        color: red;
    }
    这样所有链接到图片的链接字体颜色为红色。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    16. X[foo~="bar"]
    属性选择器。属性选择器中的波浪线符号可以让我们匹配属性值中用空格分隔的多个值中的一个。看下面例子:
    html代码
    <a href=”path/to/image.jpg” data-info=”external image”> Click Me, Fool </a>
    css代码
    a[data-info~="external"] {
        color: red;
    }
    a[data-info~="image"] {
        border: 1px solid black;
    }
    在上面例子中,匹配data-info属性中包含“external”链接的字体颜色为红色。匹配data-info属性中包含“image”的链接设置黑色边框。
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    17. X:checked
    checked伪类用来匹配处于选定状态的界面元素,如radio、checkbox。
    input[type=radio]:checked {
        border: 1px solid black;
    }
    上面代码中匹配的是所有处于选定状态的单选radio,设置1px的黑色边框。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    18. X:after和X:before
    这两个伪类与content结合用于在元素的前面或者后面追加内容,看一个简单的例子:
    h1:after {content:url(/i/logo.gif)}
    上面的代码实现了在h1标题的后面显示一张图片。
    我们也经常用它来实现清除浮动,写法如下:
    .clearfix:after {
        content: “”;
        display: block;
        clear: both;
        visibility: hidden;
        font-size: 0;
        height: 0;
    }      
    .clearfix {
        *zoom:1
    }
    19. X:hover
    div:hover {
        background: #e3e3e3;
    }
    :hover伪类设定当鼠标划过时元素的样式。上面代码中设定了div划过时的背景色。
    需要注意的是,在ie 6中,:hover只能用于链接元素。
    这里分享一个经验,在设定链接划过时出现下滑线时,使用border-bottom会比text-decoration显得更漂亮些。代码如下:
    a:hover {
        border-bottom: 1px solid black;
    }
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    20. X:not(selector)
    div:not(#container) {
        color: blue;
    }
    否定伪类选择器用来在匹配元素时排除某些元素。在上面的例子中,设定除了id为container的div元素字体颜色为blue。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    21. X::pseudoElement
    ::伪对象用于给元素片段添加样式。比如一个段落的第一个字母或者第一行。需要注意的是,这个::伪对象只能用于块状元素。
    下面的代码设定了段落中第一个字母的样式:
    p::first-letter {
        float: left;
        font-size: 2em;
        font-weight: bold;
        font-family: cursive;
        padding-right: 2px;
    }
    下面的代码中设定了段落中第一行的样式:
    p::first-line {
        font-weight: bold;
        font-size: 1.2em;
    }
    兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera
    (IE6竟然支持,有些意外啊。)
    22. X:nth-child(n)
    li:nth-child(3) {
        color: red;
    }
    这个伪类用于设定一个序列元素(比如li、tr)中的第n个元素(从1开始算起)的样式。在上面例子中,设定第三个列表元素li的字体颜色为红色。
    看一个更灵活的用法,在下面例子中设定第偶数个元素的样式,可以用它来实现隔行换色:
    tr:nth-child(2n) {
        background-color: gray;
    }
    兼容浏览器:IE9+、Firefox、Chrome、Safari
    23. X:nth-last-child(n)
    li:nth-last-child(2) {
        color: red;
    }
    与X:nth-child(n)功能类似,不同的是它从一个序列的最后一个元素开始算起。上面例子中设定倒数第二个列表元素的字体颜色。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    24. X:nth-of-type(n)
    ul:nth-of-type(3) {
        border: 1px solid black;
    }
    与X:nth-child(n)功能类似,不同的是它匹配的不是某个序列元素,而是元素类型。例如上面的代码设置页面中出现的第三个无序列表ul的边框。
    兼容浏览器:IE9+、Firefox、Chrome、Safari
    25. X:nth-last-of-type(n)
    ul:nth-last-of-type(3) {
        border: 1px solid black;
    }
    与X:nth-of-type(n)功能类似,不同的是它从元素最后一次出现开始算起。上面例子中设定倒数第三个无序列表的边框。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    26. X:first-child
    :first-child伪类用于匹配一个序列的第一个元素。我们经常用它来实现一个序列的第一个元素或最后一个元素的上(下)边框,如:
    ul:nth-last-of-type(3) {
        border: 1px solid black;
    }
    兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera
    27. X:last-child
    ul > li:last-child {
        border-bottom:none;
    }
    与:first-child类似,它匹配的是序列中的最后一个元素。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    28. X:only-child
    div p:only-child {
        color: red;
    }
    这个伪类用的比较少。在上面例子中匹配的是div下有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。
    <div><p> My paragraph here. </p></div>
    <div>
        <p> Two paragraphs total. </p>
        <p> Two paragraphs total. </p>
    </div>
    在上面代码中第一个div中的段落p将会被匹配,而第二个div中的p则不会。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    29. X:only-of-type
    li:only-of-type {
        font-weight: bold;
    }
    这个伪类匹配的是,在它上级容器下只有它一个子元素,它没有邻居元素。例如上面代码匹配仅有一个列表项的列表元素。
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera
    30. X:first-of-type
    :first-of-type伪类与:nth-of-type(1)效果相同,匹配出现的第一个元素。我们来看个例子:
    <div>
        <p> My paragraph here. </p>
        <ul>
            <li> List Item 1 </li>
            <li> List Item 2 </li>
        </ul>
        <ul>
            <li> List Item 3 </li>
            <li> List Item 4 </li>
        </ul>
    </div>
    在上面的html代码中,如果我们希望仅匹配List Item 2列表项该如何做呢:
    方案一:
    ul:first-of-type > li:nth-child(2) {
        font-weight: bold;
    }
    p + ul li:last-child {
        font-weight: bold;
    }
    方案三:
    ul:first-of-type li:nth-last-child(1) {
        font-weight: bold;
    }
    兼容浏览器:IE9+、Firefox、Chrome、Safari、Opera。

    总结:
    即便您正在选取老版本的浏览器,如IE
陆,在使用方面css采用器时一定要小心它是还是不是合作。然而,这不应成为阻止大家上学使用它的说辞。在设计时,你能够参照浏览器包容性列表,也足以经过脚本手段让老版本的浏览器也辅助它们。

连带学科:
一周学会Mootools
一.肆中文化教育程:序论

一周学会Mootools
一.四中文教程:(一)Dom选用器

一日学会Mootools
一.四国语教程:(贰)函数

一周学会Mootools
一.四华语教程:(3)事件

七日学会Mootools
一.4中文教程:(肆)类型

七日学会Mootools
一.肆普通话教程:(5)Ajax

一周学会Mootools
一.四国语教程:(陆)动画

7日学会Mootools
一.四华语教程:(7)汇总收尾

别的关于Mootools 一.4的文章:
自家写的Lightbox效果插件,基于MooTools
1.四

自小编写的万年历插件(含奇门遁甲,公历,公历,节气,各个节日等),基于MooTools
一.4

自家写的接近本站首页左上角的菜单的法力插件,基于MooTools
一.4

Mootools中delay那一个延迟函数的高级用法
Mootools中运用bind给函数绑定对象
Mootools中使用extend和implement给你的函数扩大功能或情势
和谐写个扩展把Mootools的语法改的和Jquery的语法一模1样
Mootools一.4中自定义事件
用Mootools一.四写了多少个乘机鼠标移动而背景图也随即移动的事物

相关文章