JQuery - fantasy0107/notes GitHub Wiki
javascript Library
simplifies JavaScript
<head>
<script src="jquery-3.3.1.min.js"></script>
</head>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
$(selector).action()
- $ - define/access jQuery
- (selector) - "query (or find)" HTML elements
- $(".test") - class="test"
- $("#test") - id="test"
- action() - to be performed on the element
預防任何 jquery code 偷跑在文件還沒有載好
$(document).ready(function(){
// jQuery methods go here...
});
//element Selector
$("p")
// #id Selector
$("#test")
//.class Selector
$(".test")
// 所有的 <h1>, <div> and <p>
$("h1,div,p")
// 某個底下的子孫
$("div p") 所有的 <p> 是 <div> 的子孫
//兄弟
$("div ~ p") //所有是 <div> 的兄弟 <p>
//[attribute=value]
$("[href='default.htm']") //所有有 href 值為 default.htm
// class
$("...").addClass('...'); //新增
$("...").removeClass('...'); //刪除
//值
$('...').val(); //取
$('...').val('aaa'); //設定
//HTML
$('...').html(); //取
$('...').html('aaa'); //設定
//文字
$('...').text(); //取
$('...').text('aaa'); //設定
<b>Test</b>
//attr
$('...').attr('id'); //取
$('...').attr('id', 'value'); //設定
ex: data-key='83';
<div id="slider" data-type="slideShow">
<img class='photo' data-item="1" data-size="xs" src="http://fakeimg.pl/350x200/?text=Hello" />
<img class='photo' data-item="2" data-size="lg" src="http://fakeimg.pl/550x200/?text=Welcome" />
</div>
//js get
用 js 中 dataset 物件去取得
let slider = document.getElementById('slider');
console.log(slider.dataset.type);
//jquery get
console.log($('#slider').data('type')); // "slideShow"
//css get
<article data-content="Hello Everyone">
</article>
article::before{
content: attr(data-content);
}
不同的 action 網站會怎麼回應叫做event
$("p").click(function(){
$(this).hide();
});
附加一個或多個 event 對於被選擇的 elements
$("p").on("click", function(){
$(this).hide();
});
$("p").on({
mouseenter: function(){
$(this).css("background-color", "lightgray");
},
mouseleave: function(){
$(this).css("background-color", "lightblue");
},
click: function(){
$(this).css("background-color", "yellow");
}
});
$.ajax({
type: 'POST',
url: '/api/rules',
data: { title : '2015-03-12'},
dataType: 'json',
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
success: function(data){
console.log(data.status);
},
error: function(xhr, type){
alert('Ajax error!')
}
});
$.ajax({
url: "/api/test.php",
method: "POST",
data:
{
parameterName:value,
parameterName2:value2,
}}).done(function(data) {
//handle return data
});