国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

MooTools教程(2):DOM選擇器

2024-07-21 02:04:22
字體:
來源:轉載
供稿:網友

如果你還沒有準備好,請先閱讀上一篇《mootools 1.2教程(1)——mootools介紹》。我們講了怎么引用mootools 1.2以及怎么在domready里面調用你的腳本。

今天開始本系列教程的第2講。在這一講中,我們會學習幾種選擇html元素的方法。在許多方面,這是mootools用得最多最基本的。畢竟,要創建一個基于html元素的交互性用戶體驗,你必須首先把它們掌握在手中。

基本的方法

$();

$函數是mootools中基本的選擇器。你可以通過它來根據一個id選擇dom元素。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇id為”body_wrap“的元素
  2. $('body_wrap');
參考代碼: [復制代碼] [保存代碼]
  1. <div id="body_wrap">
  2. </div>

.getelement();

.getelement();擴展了$方法,可以讓你簡化你的選擇操作。例如,你可以通過$方法來選擇id為”body_wrap“的元素,然后選擇第一個子節點。.getelement();只選擇一個元素,如果有多個符合要求的元素則返回第一個元素。如果你給.getelement();方法一個css類名作為參數,你就會得到第一個有這個css類名的元素,而不是函數所有元素的數組。要選擇多個元素,則可以使用下面的.getelements();方法。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇id為”body_wrap“的元素下面的第一個鏈接
  2. $('body_wrap').getelement('a'); 
  3.  
  4. // 選擇id為”body_wrap“的元素下面的id為”special_anchor“的元素
  5. $('body_wrap').getelement('#special_anchor'); 
  6.  
  7. // 選擇id為”body_wrap“的元素下面第一個css類名為”special_anchor_class“的元素
  8. $('body_wrap').getelement('.special_anchor_class');
參考代碼: [復制代碼] [保存代碼]
  1. <div id="body_wrap">
  2.         <a href="#">anchor</a>
  3.         <a href="#">another anchor</a>
  4.         <a id="special_anchor" href="#">special anchor</a>
  5.         <a class="special_anchor_class" href="#">special anchor</a>
  6.         <a class="special_anchor_class" href="#">another special anchor</a>
  7. </div>

$$();

$$函數可以可以讓你快速選擇多個元素,并組成一個數組(一種你可以操作、獲取和以任何方式重新排序的列表)。你可以通過標簽名(如div、a、img等)、或者id或者是他們的各種組合來選擇多個元素。就像一個讀者指出的那樣,你可以用$$做很多事情,遠遠超出我們這里所介紹的。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇這個頁面中的所有div
  2. $$('div'); 
  3.  
  4. // 選擇id為”id_name的元素和所有的div
  5. $$('#id_name''div');
參考代碼: [復制代碼] [保存代碼]
  1. <div>
  2.     <div>a div</div>
  3.     <span id="id_name">a span</span>
  4. </div>

.getelements();

.getelements();和.getelement();非常類似,不過它返回所有符合要求的元素,并組成一個數組。你可以想使用.getelement();方法那樣使用.getelements();。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇id為”body_wrap“的元素下面的所有鏈接
  2. $('body_wrap').getelements('a'); 
  3.  
  4. // 選擇id為”body_wrap“的元素下面的所有css類名為”special_anchor_class“的子元素
  5. $('body_wrap').getelements('.special_anchor_class');
參考代碼: [復制代碼] [保存代碼]
  1. <div id="body_wrap">
  2.         <a href="#">anchor</a>
  3.         <a href="#">another anchor</a>
  4.         <a class="special_anchor_class" href="#">special anchor</a>
  5.         <a class="special_anchor_class" href="#">another special anchor</a>
  6. </div>

用運算符包含和排除結果

運算符

mootools 1.2支持幾種運算符,可以讓你進一步精簡你的選擇操作。你可以在.getelements();中使用這些運算符來包含或者排除特定的結果。mootools支持4種運算符,每一種都可以用來通過名字(name)選擇一個input元素。

  • = : 等于
參考代碼: [復制代碼] [保存代碼]
  1. //選擇name為”phone_number“的input元素
  2. $('body_wrap').getelements('input[name=phone_number]');
     
參考代碼: [復制代碼] [保存代碼]
  1. // 選擇name以”phone“開頭的input元素
  2. $('body_wrap').getelements('input[name^=phone]');
  • $= : 以……結束
參考代碼: [復制代碼] [保存代碼]
  1. // 選擇name以數字(number)結束的input元素
  2. $('body_wrap').getelements('input[name$=number]');
  • != : 不等于
參考代碼: [復制代碼] [保存代碼]
  1. // 選擇名字不等于”address“的input元素
  2. $('body_wrap').getelements('input[name!=address]');
參考代碼: [復制代碼] [保存代碼]
  1. <div id="body_wrap">
  2.     <input name="address" type="text" />
  3.     <input name="phone_number" type="text" /> <!-- 上面的所有示例代碼都將選中這個元素 -->
  4. </div>

(fdream注:input在這里只是作為一個例子,你同樣可以使用這種方式選擇其他元素,比如div、a等等。)

要使用運算符,你必須首先指定元素的類型(比如這里的input),然后指定你要過濾的屬性(比如這里的name),再加上你的 運算符,最后選擇你的過濾字符串。

基于元素順序的選擇器

even(偶數選擇)

通過這個簡單的選擇器,你可以選擇序號為偶數的元素。注意:這個選擇器從0開始計數,因此第一個元素是偶數序的。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇序號為偶數的div
  2. $$('div:even');
參考代碼: [復制代碼] [保存代碼]
  1. <div>even</div><!-- 上面的代碼將選中這個元素 -->
  2. <div>odd</div>
  3. <div>even</div><!-- 上面的代碼將選中這個元素 -->
  4. <div>odd</div>

odd(奇數選擇)

和even一樣,只不過它選擇序號為奇數的元素。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇所有序號為奇數的div
  2. $$('div:odd');
參考代碼: [復制代碼] [保存代碼]
  1. <div>even</div>
  2. <div>odd</div><!-- 上面的代碼將選中這個元素 -->
  3. <div>even</div>
  4. <div>odd</div><!-- 上面的代碼將選中這個元素 -->

.getparent();

通過.getparent();方法,你可以得到一個元素的父元素(parent)。

參考代碼: [復制代碼] [保存代碼]
  1. // 選擇id為”child_id“的元素的父元素
  2. $('child_id').getparent();
參考代碼: [復制代碼] [保存代碼]
  1. <div id="parent_id"<!-- 上面的腳本將返回這個元素-->
  2.     <div id="child_id">even</div>
  3. </div>

代碼舉例

任何mootools ui開發都是從選擇器開始的。這里是一些非常簡單的例子,演示了怎么去使用選擇器操作dom元素。

參考代碼: [復制代碼] [保存代碼]
  1. // 設置所有span的背景顏色為#eee
  2. $$('span').setstyle('background-color''#eee');
  3. // 設置所有序號為奇數的span的背景色為#eee
  4. $$('span:odd').setstyle('background-color''#eee'); 
  5.  
  6. // 設置id為body_wrap的元素下的所有css類名為.middle_spans的span的背景色為#eee
  7. $('body_wrap').getelements('.middle_spans').setstyle('background-color''#eee');
參考代碼: [復制代碼] [保存代碼]
  1. <div id="body_wrap">
  2.     <span>even</span>
  3.     <span class="middle_spans">odd</span>
  4.     <span class="middle_spans">even</span>
  5.     <span>odd</span>
  6. </div>

下載zip包并嘗試一下

這個zip包中包含了一個簡單的html文件、mootools 1.2核心庫、一個外部js文件和上面你所看到的例子。

更多學習……

這并不意味著這是mootools 1.2的選擇器的全部功能列表,這僅僅只是幫助你入門,告訴你mootools給你提供了什么功能。要學習有關選擇器的更多東西,請參考下面的文檔:

  • 這里有非常多的有關元素(element)選擇器的文檔
  • 順便也可以看一下選擇器(selectors)

mootools blog上有關$$選擇器的文章

這是mootools.net上非常好的一篇有關$$選擇器和介紹它的變化多端的blog文章。通過這個選擇器你可以做多到你無法相信的事情,這篇文章很值得一讀。

slickspeed選擇器

這里有別人針對mootools做的一個實驗,測量不同的庫在選擇元素時到底有多快。這對于它本身來說很cool,不過這些選擇器的例子非常有價值。這里所有的選擇器特性都可以通過$$方法實現。

w3c選擇器

mootools也可以讓你利用偽選擇器的力量(就像上面的slickspeed所證明的)。這里是w3c的一篇關于選擇器的文章,一定值得讀一遍(如果只有選擇器的列表對你有用的話)。我不確定mootools的$$選擇器是不是支持這個頁面上的每一個單獨選擇器,但是至少是絕大部分。歡迎大家告訴我有關這方面的更多消息。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 谢通门县| 南皮县| 霍山县| 天水市| 盐源县| 金寨县| 化隆| 元阳县| 太原市| 泸水县| 黑山县| 盈江县| 邢台市| 绥滨县| 仪征市| 迁安市| 来宾市| 旬邑县| 财经| 象州县| 富川| 吴忠市| 荔浦县| 黔江区| 镶黄旗| 白沙| 迁安市| 额尔古纳市| 姜堰市| 中方县| 波密县| 胶南市| 新干县| 闵行区| 锦州市| 谷城县| 新晃| 金坛市| 肥城市| 许昌市| 碌曲县|