javascript新手村(1)

學而時習之,以下都是看書邊作的筆記,請服用...

網頁一碰到<script>區塊就會直接執行
所以如果要網頁樣式都呈現才要執行js要寫$(document).ready(function(){});

※要先放css再引用script
因為script會用到css

選擇器

class選擇器
$('.className')
ID選擇器
$('#IDName')
元素選擇器
document.getElementByTagName('a'); == $('a')
後裔選擇器
$('#navbar a')
選擇被id=navbar包住的<a>

子選擇器
$('body > p')
body的子元素

相鄰選擇器
$('h2 + div')
右邊是選擇對象,他的前一個節點必須是左邊的選擇器

屬性選擇器
$('img[alt]')
[attribute]:$('a[href]')
[attribute="value"]:$(input[type="text"])
[attribute^="value"]:$('a[href^="http://"]')
以特定值開頭的元素(不用完全相符)
[attribute$="value"]:$('a[href$=".pdf"]')
選出以特定值結尾
[attribute*="value"]:
選出中間有特定值

過濾器
:even可以選取集合中雙數位置的元素index=0,2,4,6 所以是第1,3,5,7個元素
:odd單數
:first 、:last 選出網頁第一或最後一個元素

:not():選出不符合選取器的元素
$('a:not(.navbutton)')
$('a:not([href^="http://"])')

:has():選出內有其他選擇器的元素
$('li:has(a)')

:contains():選出帶有特定文字的元素
$('a:contains(Click me!)')

:hidden() :visible()找出隱藏或可見的元素
不適用visibility設為invisible的元素

更多範例:
http://api.jquery.com/category/selectors/

增加內容到網頁
$('#zzz').html()  可以取得符合條件的第一個元素內容
$('#zzz').html('XXXX') 會改變所有符合條件的元素(連標籤都取代)
$('').text():只會改變元素內容,不會改變標籤

$('').append():插入最後一個子元素到被選取的元素
$('').prepend():
$('').after():插入元素在被選取的元素後面,可以用在表單輸入提示錯誤訊息
$('').before():同上但插在元素前
$('').remove():移除某個元素


$('').addClass():新增樣式  但使用名稱就好不用加.

$('').removeClass():移除class

$('').toggleClass():沒有就套用,有就移除 類似開關的概念

讀取跟改變css

var color=$('').css('background-color')

可以查詢css設定的,但是顏色的話就只會拿到rgb(255,10,10,5)這樣的值

$('.aa').css('font-size','50px');可以用來設定css樣式
前面是屬性名稱 後面是值

可以一次設定好幾個css

物件實字Object literal

{'background':'#FF0000',

'border':'2px solid #FE0037'}

$('.aa').css({'background':'#FF0000','border':'2px solid #FE0037'});

 

讀取設定跟刪除html屬性

$('').attr('src'):可讀取特定html屬性

$('').attr('src','123.jpg'):可以設定元素屬性

$('').removeAttr():刪除屬性

巡覽每個元素與不具名函式

$('selector').each(function(){

//程式寫在這

});

this VS $('this')

this指向傳統DOM元素 

$('this')是專門給jquery函式用