jQuery入門[2]-選擇器

作者: Think  來源: 博客園  發布時間: 2009-12-20 20:47  閱讀: 4153 次  推薦: 0   原文鏈接   [收藏]  

jQuery之所以令人愛不釋手,在于其強大的選擇器表達式令DOM操作優雅而藝術。
jQuery的選擇符支持id,tagName,css1-3 expressions,XPath,參見:http://docs.jquery.com/Selectors
DEMO:

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>
    <title>Selectortitle>
    <script src="../scripts/jquery-1.2.3.intellisense.js" type="text/javascript">script>
head>
<body>
    <input value="1" /> + 
    
<input value="2" />
    <input type="button" value="=" />
    <label> label>
    <script type="text/javascript">
        $("input[type='button']").click(function(){
            
var i = 0;
            $(
"input[type='text']").each(function(){
                i 
+= parseInt($(this).val());
            });
            $(
'label').text(i);
        });
        $(
'input:lt(2)')
            .add(
'label')
            .css(
'border','none')
            .css(
'borderBottom','solid 1px navy')
            .css({
'width':'30px'});
    
script>
body>
html>

運行效果如下:

代碼分解:
$("input[type='button']")用于找到type屬性為button的input元素(此為CSS表達式,IE7才開始支持,所以在IE6中通常用jQuery的這種表達式代替CSS代碼設置樣式)。click()函數為button添加click事件處理函數。
在button_click時,$("input[type='text']")找出所有輸入框,each()函數遍歷找出來的數組中的對象的值,相加后設到label中。
        $('input:lt(2)')
            .add('label')
兩行代碼意為:所有input中的前面兩個(lt表示序號小于)再加上label對象合并成一個jQuery對象。
            .css('border','none')
            .css('borderBottom','solid 1px navy')
            .css({'width':'30px'});
以上三行代碼都是針對之前的jQuery對象設置CSS樣式,如果一次需要設置多個CSS值,可用另一種形式,如:
            .css({'border':'none','borderBottom':'solid 1px navy','width':'30px'});
css()函數如果只傳一個字符串參數,則為取樣式值,比如css('color')為取得當前jQuery對象的樣式屬性color的值。jQuery對象有多種這樣的函數,比如,val('')為設value,val()為取value,text('text')為設innerText,text()為取得innerText,此外還有html(),用于操作innerHTML,而click(fn)/click(),change(fn)/change()……系統函數則為事件的設置處理函數與觸發事件。
由于多數jQuery對象的方法仍返回當前jQuery,所以jQuery代碼通常寫成一串串的,如上面的
            .css('border','none')
            .css('borderBottom','solid 1px navy')
            .css({'width':'30px'});
,而不需要不斷重復定位對象,這是jQuery的鏈式特點,后面文章還會有補充。

referrence:http://docs.jquery.com/Selectors

0
0
 
標簽:jQuery
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()