jQuery - คู่มือฉบับย่อ
jQuery คืออะไร?
jQuery เป็นไลบรารี JavaScript ที่รวดเร็วและรัดกุมซึ่งสร้างโดย John Resig ในปี 2549 พร้อมคำขวัญที่ดี: Write less, do more. jQuery ช่วยลดความซับซ้อนในการข้ามเอกสาร HTML การจัดการเหตุการณ์การเคลื่อนไหวและการโต้ตอบ Ajax เพื่อการพัฒนาเว็บอย่างรวดเร็ว jQuery เป็นชุดเครื่องมือ JavaScript ที่ออกแบบมาเพื่อลดความซับซ้อนของงานต่างๆโดยการเขียนโค้ดน้อยลง นี่คือรายการคุณสมบัติหลักที่สำคัญที่สนับสนุนโดย jQuery -
DOM manipulation - jQuery ทำให้ง่ายต่อการเลือกองค์ประกอบ DOM เจรจาต่อรองและแก้ไขเนื้อหาโดยใช้เครื่องมือเลือกโอเพ่นซอร์สข้ามเบราว์เซอร์ที่เรียกว่า Sizzle.
Event handling - jQuery นำเสนอวิธีที่ยอดเยี่ยมในการจับภาพเหตุการณ์ที่หลากหลายเช่นผู้ใช้คลิกที่ลิงก์โดยไม่จำเป็นต้องยุ่งกับโค้ด HTML ด้วยตัวจัดการเหตุการณ์
AJAX Support - jQuery ช่วยคุณได้มากในการพัฒนาไซต์ที่ตอบสนองและมีคุณลักษณะโดยใช้เทคโนโลยี AJAX
Animations - jQuery มาพร้อมกับเอฟเฟกต์ภาพเคลื่อนไหวในตัวมากมายที่คุณสามารถใช้ในเว็บไซต์ของคุณ
Lightweight - jQuery เป็นไลบรารีที่มีน้ำหนักเบามาก - มีขนาดประมาณ 19KB (Minified และ gzipped)
Cross Browser Support - jQuery รองรับข้ามเบราว์เซอร์และทำงานได้ดีใน IE 6.0+, FF 2.0+, Safari 3.0+, Chrome และ Opera 9.0+
Latest Technology - jQuery รองรับตัวเลือก CSS3 และไวยากรณ์ XPath พื้นฐาน
วิธีใช้ jQuery
มีสองวิธีในการใช้ jQuery
Local Installation - คุณสามารถดาวน์โหลดไลบรารี jQuery บนเครื่องของคุณและรวมไว้ในโค้ด HTML ของคุณ
CDN Based Version - คุณสามารถรวมไลบรารี jQuery ลงในโค้ด HTML ของคุณได้โดยตรงจาก Content Delivery Network (CDN)
การติดตั้งภายในเครื่อง
ไปที่ไฟล์ https://jquery.com/download/ เพื่อดาวน์โหลดเวอร์ชันล่าสุดที่มี
ตอนนี้ใส่ดาวน์โหลด jquery-2.1.3.min.js ไฟล์ในไดเรกทอรีของเว็บไซต์ของคุณเช่น / jquery
ตัวอย่าง
ตอนนี้คุณสามารถรวมไลบรารีjqueryไว้ในไฟล์ HTML ของคุณได้ดังนี้ -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript" src = "/jquery/jquery-2.1.3.min.js">
</script>
<script type = "text/javascript">
$(document).ready(function() {
document.write("Hello, World!");
});
</script>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
เวอร์ชันที่ใช้ CDN
คุณสามารถรวมไลบรารี jQuery ไว้ในโค้ด HTML ของคุณได้โดยตรงจาก Content Delivery Network (CDN) Google และ Microsoft นำเสนอเนื้อหาสำหรับเวอร์ชันล่าสุด
เราใช้ไลบรารีเวอร์ชัน Google CDN ตลอดบทช่วยสอนนี้
ตัวอย่าง
ตอนนี้ให้เราเขียนตัวอย่างข้างต้นใหม่โดยใช้ไลบรารี jQuery จาก Google CDN
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript">
$(document).ready(function() {
document.write("Hello, World!");
});
</script>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการเรียกใช้ฟังก์ชันห้องสมุด jQuery
เกือบทุกอย่างเราทำเมื่อใช้ jQuery อ่านหรือจัดการรูปแบบวัตถุเอกสาร (DOM) เราต้องแน่ใจว่าเราเริ่มเพิ่มเหตุการณ์ ฯลฯ ทันทีที่ DOM พร้อม
หากคุณต้องการให้เหตุการณ์ทำงานบนเพจของคุณคุณควรเรียกใช้ในฟังก์ชัน $ (document) .ready () ทุกสิ่งที่อยู่ภายในจะโหลดทันทีที่โหลด DOM และก่อนที่จะโหลดเนื้อหาของหน้า
ในการดำเนินการนี้เราจะลงทะเบียนเหตุการณ์ที่พร้อมสำหรับเอกสารดังนี้ -
$(document).ready(function() {
// do stuff when DOM is ready
});
หากต้องการเรียกใช้ฟังก์ชันไลบรารี jQuery ให้ใช้แท็กสคริปต์ HTML ดังที่แสดงด้านล่าง -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("div").click(function() {alert("Hello, world!");});
});
</script>
</head>
<body>
<div id = "mydiv">
Click on this to see a dialogue box.
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีใช้สคริปต์ที่กำหนดเอง
การเขียนโค้ดที่กำหนดเองในไฟล์ JavaScript ที่กำหนดเองจะดีกว่า: custom.jsดังต่อไปนี้ -
/* Filename: custom.js */
$(document).ready(function() { $("div").click(function() {
alert("Hello, world!");
});
});
ตอนนี้เราสามารถรวม custom.js ไฟล์ในไฟล์ HTML ของเราดังนี้ -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" src = "/jquery/custom.js">
</script>
</head>
<body>
<div id = "mydiv">
Click on this to see a dialogue box.
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การใช้หลายไลบรารี
คุณสามารถใช้หลายไลบรารีร่วมกันได้โดยไม่ขัดแย้งกัน ตัวอย่างเช่นคุณสามารถใช้ไลบรารี jQuery และ MooTool javascript ร่วมกันได้ คุณสามารถตรวจสอบวิธีjQuery noConflictเพื่อดูรายละเอียดเพิ่มเติม
Next คืออะไร?
อย่ากังวลมากเกินไปหากคุณไม่เข้าใจตัวอย่างข้างต้น คุณจะเข้าใจพวกเขาเร็ว ๆ นี้ในบทต่อ ๆ ไป
บทต่อไปจะพยายามพูดถึงแนวคิดพื้นฐานบางประการซึ่งมาจาก JavaScript ทั่วไป
jQuery เป็นเฟรมเวิร์กที่สร้างขึ้นโดยใช้ความสามารถของ JavaScript ดังนั้นคุณสามารถใช้ฟังก์ชันและความสามารถอื่น ๆ ทั้งหมดที่มีใน JavaScript บทนี้จะอธิบายแนวคิดพื้นฐานส่วนใหญ่ แต่ใช้บ่อยใน jQuery
สตริง
สตริงใน JavaScript เป็นอ็อบเจ็กต์ที่ไม่เปลี่ยนรูปซึ่งไม่มีอักขระหนึ่งตัวหรือหลายตัว ต่อไปนี้เป็นตัวอย่างที่ถูกต้องของสตริง JavaScript -
"This is JavaScript String"
'This is JavaScript String'
'This is "really" a JavaScript String'
"This is 'really' a JavaScript String"
ตัวเลข
ตัวเลขใน JavaScript เป็นค่า IEEE 754 รูปแบบ 64 บิตที่มีความแม่นยำสองเท่า พวกมันไม่เปลี่ยนรูปเช่นเดียวกับสตริง ต่อไปนี้เป็นตัวอย่างที่ถูกต้องของ JavaScript Numbers -
5350
120.27
0.26
บูลีน
บูลีนใน JavaScript สามารถเป็นได้ true หรือ false. ถ้าตัวเลขเป็นศูนย์จะมีค่าเริ่มต้นเป็นเท็จ หากสตริงว่างมีค่าเริ่มต้นเป็นเท็จ
ต่อไปนี้เป็นตัวอย่างที่ถูกต้องของ JavaScript Boolean -
true // true
false // false
0 // false
1 // true
"" // false
"hello" // true
วัตถุ
JavaScript รองรับแนวคิด Object ได้เป็นอย่างดี คุณสามารถสร้างวัตถุโดยใช้ตัวอักษรของวัตถุได้ดังนี้ -
var emp = {
name: "Zara",
age: 10
};
คุณสามารถเขียนและอ่านคุณสมบัติของวัตถุโดยใช้สัญกรณ์จุดดังนี้ -
// Getting object properties
emp.name // ==> Zara
emp.age // ==> 10
// Setting object properties
emp.name = "Daisy" // <== Daisy
emp.age = 20 // <== 20
อาร์เรย์
คุณสามารถกำหนดอาร์เรย์โดยใช้ลิเทอรัลอาร์เรย์ดังนี้ -
var x = [];
var y = [1, 2, 3, 4, 5];
อาร์เรย์มีไฟล์ length คุณสมบัติที่มีประโยชน์สำหรับการทำซ้ำ -
var x = [1, 2, 3, 4, 5];
for (var i = 0; i < x.length; i++) {
// Do something with x[i]
}
ฟังก์ชั่น
ฟังก์ชันใน JavaScript สามารถตั้งชื่อหรือไม่ระบุชื่อก็ได้ ฟังก์ชันที่ตั้งชื่อสามารถกำหนดได้โดยใช้คำสำคัญของฟังก์ชันดังนี้ -
function named(){
// do some stuff here
}
ฟังก์ชันนิรนามสามารถกำหนดได้ในลักษณะเดียวกันกับฟังก์ชันปกติ แต่จะไม่มีชื่อใด ๆ
ฟังก์ชันนิรนามสามารถกำหนดให้กับตัวแปรหรือส่งผ่านไปยังวิธีการดังที่แสดงด้านล่าง
var handler = function (){
// do some stuff here
}
JQuery ใช้ฟังก์ชันที่ไม่ระบุชื่อบ่อยมากดังนี้ -
$(document).ready(function(){
// do some stuff here
});
อาร์กิวเมนต์
อาร์กิวเมนต์ตัวแปร JavaScript คืออาร์เรย์ชนิดหนึ่งที่มีคุณสมบัติความยาว ตัวอย่างต่อไปนี้อธิบายได้เป็นอย่างดี -
function func(x){
console.log(typeof x, arguments.length);
}
func(); //==> "undefined", 0
func(1); //==> "number", 1
func("1", "2", "3"); //==> "string", 3
วัตถุอาร์กิวเมนต์ยังมีคุณสมบัติcalleeซึ่งหมายถึงฟังก์ชันที่คุณอยู่ภายใน ตัวอย่างเช่น -
function func() {
return arguments.callee;
}
func(); // ==> func
บริบท
คำหลักที่มีชื่อเสียงของ JavaScript thisอ้างถึงบริบทปัจจุบันเสมอ ภายในฟังก์ชันthis บริบทสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับวิธีการเรียกใช้ฟังก์ชัน -
$(document).ready(function() {
// this refers to window.document
});
$("div").click(function() {
// this refers to a div DOM element
});
คุณสามารถระบุบริบทสำหรับการเรียกใช้ฟังก์ชันโดยใช้วิธีการในตัวฟังก์ชัน call() และ apply() วิธีการ
ความแตกต่างระหว่างพวกเขาคือวิธีที่พวกเขาส่งผ่านข้อโต้แย้ง การโทรส่งผ่านอาร์กิวเมนต์ทั้งหมดเป็นอาร์กิวเมนต์ของฟังก์ชันในขณะที่ใช้ยอมรับอาร์เรย์เป็นอาร์กิวเมนต์
function scope() {
console.log(this, arguments.length);
}
scope() // window, 0
scope.call("foobar", [1,2]); //==> "foobar", 1
scope.apply("foobar", [1,2]); //==> "foobar", 2
ขอบเขต
ขอบเขตของตัวแปรคือขอบเขตของโปรแกรมของคุณที่กำหนดไว้ ตัวแปร JavaScript จะมีเพียงสองขอบเขต
Global Variables - ตัวแปรส่วนกลางมีขอบเขตทั่วโลกซึ่งหมายความว่ามีการกำหนดทุกที่ในโค้ด JavaScript ของคุณ
Local Variables- ตัวแปรโลคัลจะมองเห็นได้เฉพาะในฟังก์ชันที่กำหนดไว้ พารามิเตอร์ของฟังก์ชันอยู่ในพื้นที่ของฟังก์ชันนั้นเสมอ
ภายในเนื้อความของฟังก์ชันตัวแปรโลคัลจะมีความสำคัญเหนือตัวแปรส่วนกลางที่มีชื่อเดียวกัน -
var myVar = "global"; // ==> Declare a global variable
function ( ) {
var myVar = "local"; // ==> Declare a local variable
document.write(myVar); // ==> local
}
โทรกลับ
การเรียกกลับเป็นฟังก์ชัน JavaScript ธรรมดาที่ส่งผ่านไปยังเมธอดบางอย่างเป็นอาร์กิวเมนต์หรือตัวเลือก การเรียกกลับบางรายการเป็นเพียงเหตุการณ์ที่เรียกเพื่อให้ผู้ใช้มีโอกาสตอบสนองเมื่อมีการเรียกใช้สถานะบางอย่าง
ระบบเหตุการณ์ของ jQuery ใช้การเรียกกลับดังกล่าวทุกที่เช่น -
$("body").click(function(event) {
console.log("clicked: " + event.target);
});
การเรียกกลับส่วนใหญ่ให้อาร์กิวเมนต์และบริบท ในตัวอย่างตัวจัดการเหตุการณ์การเรียกกลับจะถูกเรียกด้วยอาร์กิวเมนต์เดียวคือเหตุการณ์
จำเป็นต้องมีการเรียกกลับบางอย่างเพื่อส่งคืนบางสิ่งบางอย่างบางรายการจะกำหนดให้ค่าส่งคืนนั้นเป็นทางเลือก เพื่อป้องกันการส่งแบบฟอร์มตัวจัดการเหตุการณ์ที่ส่งสามารถส่งคืนเท็จได้ดังนี้ -
$("#myform").submit(function() {
return false;
});
การปิด
การปิดจะถูกสร้างขึ้นเมื่อใดก็ตามที่มีการเข้าถึงตัวแปรที่กำหนดนอกขอบเขตปัจจุบันจากภายในขอบเขตภายในบางส่วน
ตัวอย่างต่อไปนี้แสดงให้เห็นว่าตัวแปร counter สามารถมองเห็นได้ภายในฟังก์ชันการสร้างการเพิ่มและการพิมพ์ แต่จะมองไม่เห็นภายนอก -
function create() {
var counter = 0;
return {
increment: function() {
counter++;
},
print: function() {
console.log(counter);
}
}
}
var c = create();
c.increment();
c.print(); // ==> 1
รูปแบบนี้ช่วยให้คุณสร้างวัตถุด้วยวิธีการที่ดำเนินการกับข้อมูลที่โลกภายนอกมองไม่เห็น ควรสังเกตว่าdata hiding เป็นพื้นฐานของการเขียนโปรแกรมเชิงวัตถุ
รูปแบบพร็อกซี
พร็อกซีคืออ็อบเจ็กต์ที่สามารถใช้เพื่อควบคุมการเข้าถึงอ็อบเจ็กต์อื่น มันใช้อินเทอร์เฟซเดียวกับออบเจ็กต์อื่น ๆ และส่งต่อการเรียกใช้เมธอดใด ๆ วัตถุอื่น ๆ นี้มักเรียกว่าวัตถุจริง
พร็อกซีสามารถสร้างอินสแตนซ์แทนหัวเรื่องจริงและอนุญาตให้เข้าถึงได้จากระยะไกล เราสามารถบันทึกเมธอด setArray ของ jQuery ในการปิดและเขียนทับได้ดังนี้ -
(function() {
// log all calls to setArray
var proxied = jQuery.fn.setArray;
jQuery.fn.setArray = function() {
console.log(this, arguments);
return proxied.apply(this, arguments);
};
})();
ด้านบนรวมโค้ดไว้ในฟังก์ชันเพื่อซ่อนตัวแปรพร็อกซี จากนั้นพร็อกซีจะบันทึกการโทรทั้งหมดไปยังเมธอดและมอบหมายการโทรไปยังเมธอดดั้งเดิม การใช้ใช้ (อาร์กิวเมนต์นี้) จะรับประกันได้ว่าผู้โทรจะไม่สามารถสังเกตเห็นความแตกต่างระหว่างวิธีดั้งเดิมและวิธีการพร็อกซีได้
ฟังก์ชั่นในตัว
JavaScript มาพร้อมกับชุดฟังก์ชันที่มีประโยชน์ในตัว วิธีการเหล่านี้สามารถใช้เพื่อจัดการกับสตริงตัวเลขและวันที่
ต่อไปนี้เป็นฟังก์ชัน JavaScript ที่สำคัญ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | charAt() ส่งกลับอักขระที่ดัชนีที่ระบุ |
2 | concat() รวมข้อความของสองสตริงและส่งคืนสตริงใหม่ |
3 | forEach() เรียกใช้ฟังก์ชันสำหรับแต่ละองค์ประกอบในอาร์เรย์ |
4 | indexOf() ส่งคืนดัชนีภายในอ็อบเจ็กต์สตริงการเรียกของการเกิดขึ้นครั้งแรกของค่าที่ระบุหรือ -1 หากไม่พบ |
5 | length() ส่งกลับความยาวของสตริง |
6 | pop() ลบองค์ประกอบสุดท้ายออกจากอาร์เรย์และส่งคืนองค์ประกอบนั้น |
7 | push() เพิ่มองค์ประกอบอย่างน้อยหนึ่งรายการที่ส่วนท้ายของอาร์เรย์และส่งกลับความยาวใหม่ของอาร์เรย์ |
8 | reverse() กลับลำดับขององค์ประกอบของอาร์เรย์ - อันแรกกลายเป็นลำดับสุดท้ายและสุดท้ายจะกลายเป็นลำดับแรก |
9 | sort() จัดเรียงองค์ประกอบของอาร์เรย์ |
10 | substr() ส่งคืนอักขระในสตริงที่เริ่มต้นที่ตำแหน่งที่ระบุผ่านจำนวนอักขระที่ระบุ |
11 | toLowerCase() ส่งคืนค่าสตริงการโทรที่แปลงเป็นตัวพิมพ์เล็ก |
12 | toString() ส่งกลับการแสดงสตริงของค่าของตัวเลข |
13 | toUpperCase() ส่งกลับค่าสตริงการโทรที่แปลงเป็นตัวพิมพ์ใหญ่ |
Document Object Model
Document Object Model คือโครงสร้างต้นไม้ขององค์ประกอบต่างๆของ HTML ดังนี้ -
<html>
<head>
<title>The jQuery Example</title>
</head>
<body>
<div>
<p>This is a paragraph.</p>
<p>This is second paragraph.</p>
<p>This is third paragraph.</p>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
ต่อไปนี้เป็นประเด็นสำคัญเกี่ยวกับโครงสร้างต้นไม้ข้างต้น -
<html> เป็นบรรพบุรุษขององค์ประกอบอื่น ๆ ทั้งหมด กล่าวอีกนัยหนึ่งองค์ประกอบอื่น ๆ ทั้งหมดเป็นลูกหลานของ <html>
องค์ประกอบ <head> และ <body> ไม่ได้เป็นเพียงลูกหลานเท่านั้น แต่ยังเป็นลูก ๆ ของ <html> ด้วย
ในทำนองเดียวกันนอกจากจะเป็นบรรพบุรุษของ <head> และ <body> แล้ว <html> ยังเป็นพ่อแม่ของพวกเขาด้วย
องค์ประกอบ <p> คือลูก ๆ (และลูกหลาน) ของ <div> ลูกหลานของ <body> และ <html> และพี่น้องของกันและกัน <p> องค์ประกอบ
ในขณะที่การเรียนรู้แนวคิด jQuery ก็จะเป็นประโยชน์ที่จะมีการทำความเข้าใจเกี่ยวกับ DOM ถ้าคุณไม่ได้ตระหนักถึง DOM แล้วฉันขอแนะนำให้ไปผ่านการกวดวิชาที่เรียบง่ายของเราในDOM กวดวิชา
ไลบรารี jQuery ใช้ประโยชน์จากตัวเลือก Cascading Style Sheets (CSS) เพื่อให้เราเข้าถึงองค์ประกอบหรือกลุ่มขององค์ประกอบใน Document Object Model (DOM) ได้อย่างรวดเร็วและง่ายดาย
jQuery Selector เป็นฟังก์ชันที่ใช้นิพจน์เพื่อค้นหาองค์ประกอบที่ตรงกันจาก DOM ตามเกณฑ์ที่กำหนด คุณสามารถพูดได้ว่าตัวเลือกใช้เพื่อเลือกองค์ประกอบ HTML อย่างน้อยหนึ่งรายการโดยใช้ jQuery เมื่อเลือกองค์ประกอบแล้วเราสามารถดำเนินการต่างๆกับองค์ประกอบที่เลือกนั้นได้
ฟังก์ชันโรงงาน $ ()
ตัวเลือก jQuery เริ่มต้นด้วยเครื่องหมายดอลลาร์และวงเล็บ - $(). ฟังก์ชั่นโรงงาน$() ใช้ประโยชน์จากสิ่งปลูกสร้างสามแบบต่อไปนี้ในขณะที่เลือกองค์ประกอบในเอกสารที่กำหนด -
ซีเนียร์ | ตัวเลือกและคำอธิบาย |
---|---|
1 | Tag Name แสดงชื่อแท็กที่มีอยู่ใน DOM ตัวอย่างเช่น$('p') เลือกย่อหน้าทั้งหมด <p> ในเอกสาร |
2 | Tag ID แสดงแท็กที่พร้อมใช้งานกับ ID ที่ระบุใน DOM ตัวอย่างเช่น$('#some-id') เลือกองค์ประกอบเดียวในเอกสารที่มี ID ของ some-id |
3 | Tag Class แสดงแท็กที่มีอยู่ในคลาสที่กำหนดใน DOM ตัวอย่างเช่น$('.some-class') เลือกองค์ประกอบทั้งหมดในเอกสารที่มีคลาสบางคลาส |
รายการทั้งหมดข้างต้นสามารถใช้ด้วยตัวเองหรือใช้ร่วมกับตัวเลือกอื่น ๆ ตัวเลือก jQuery ทั้งหมดใช้หลักการเดียวกันยกเว้นการปรับแต่งบางอย่าง
NOTE - ฟังก์ชั่นโรงงาน $() เป็นคำพ้องความหมายของ jQuery()ฟังก์ชัน ดังนั้นในกรณีที่คุณใช้ไลบรารี JavaScript อื่นอยู่ที่ไหน$ เครื่องหมายขัดแย้งกับสิ่งอื่นคุณสามารถแทนที่ได้ $ ลงชื่อโดย jQuery ชื่อและคุณสามารถใช้ฟังก์ชัน jQuery() แทน $().
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่ใช้ประโยชน์จากตัวเลือกแท็ก สิ่งนี้จะเลือกองค์ประกอบทั้งหมดที่มีชื่อแท็กp.
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("p").css("background-color", "yellow");
});
</script>
</head>
<body>
<div>
<p class = "myclass">This is a paragraph.</p>
<p id = "myid">This is second paragraph.</p>
<p>This is third paragraph.</p>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีใช้ Selectors?
ตัวเลือกมีประโยชน์มากและจะต้องใช้ในทุกขั้นตอนขณะใช้ jQuery พวกเขาได้รับองค์ประกอบที่แน่นอนที่คุณต้องการจากเอกสาร HTML ของคุณ
ตารางต่อไปนี้แสดงรายการตัวเลือกพื้นฐานสองสามตัวและอธิบายด้วยตัวอย่าง
ซีเนียร์ | ตัวเลือกและคำอธิบาย |
---|---|
1 | ชื่อ เลือกองค์ประกอบทั้งหมดที่ตรงกับองค์ประกอบที่กำหนด Name. |
2 | #ID เลือกองค์ประกอบเดียวที่ตรงกับที่กำหนด ID. |
3 | . ชั้น เลือกองค์ประกอบทั้งหมดที่ตรงกับที่กำหนด Class. |
4 | สากล (*) เลือกองค์ประกอบทั้งหมดที่มีอยู่ใน DOM |
5 | หลายองค์ประกอบ E, F, G เลือกผลลัพธ์รวมของตัวเลือกที่ระบุทั้งหมด E, F หรือ G. |
ตัวอย่างตัวเลือก
คล้ายกับไวยากรณ์และตัวอย่างข้างต้นตัวอย่างต่อไปนี้จะช่วยให้คุณเข้าใจเกี่ยวกับการใช้ตัวเลือกที่มีประโยชน์ประเภทต่างๆ -
ซีเนียร์ | ตัวเลือกและคำอธิบาย |
---|---|
1 | $('*') ตัวเลือกนี้จะเลือกองค์ประกอบทั้งหมดในเอกสาร |
2 | $("p > *") ตัวเลือกนี้จะเลือกองค์ประกอบทั้งหมดที่เป็นลูกขององค์ประกอบย่อหน้า |
3 | $("#specialID") ฟังก์ชันตัวเลือกนี้รับองค์ประกอบที่มี id = "specialID" |
4 | $(".specialClass") ตัวเลือกนี้ได้รับองค์ประกอบทั้งหมดที่มีระดับของspecialClass |
5 | $("li:not(.myclass)") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <li> ที่ไม่มี class = "myclass" |
6 | $("a#specialID.specialClass") ตัวเลือกนี้ตรงกับการเชื่อมโยงที่มี ID ของspecialIDและชั้นของspecialClass |
7 | $("p a.specialClass") ตัวเลือกนี้จับคู่ลิงก์กับคลาสspecialClass ที่ประกาศไว้ภายใน <p> องค์ประกอบ |
8 | $("ul li:first") ตัวเลือกนี้ได้รับเฉพาะองค์ประกอบ <li> แรกของ <ul> |
9 | $("#container p") เลือกองค์ประกอบทั้งหมดจับคู่โดย <p> ที่เป็นลูกหลานขององค์ประกอบที่มี ID ของภาชนะ |
10 | $("li > ul") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <ul> ซึ่งเป็นลูกขององค์ประกอบที่จับคู่โดย <li> |
11 | $("strong + em") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <em> ที่ตามด้วยองค์ประกอบพี่น้องที่จับคู่โดย <strong> ทันที |
12 | $("p ~ ul") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <ul> ตามองค์ประกอบพี่น้องที่จับคู่โดย <p> |
13 | $("code, em, strong") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <code> หรือ <em> หรือ <strong> |
14 | $("p strong, .myclass") เลือกองค์ประกอบทั้งหมดจับคู่โดย <strong> ที่เป็นลูกหลานขององค์ประกอบจับคู่โดย <p> เช่นเดียวกับองค์ประกอบทั้งหมดที่มีระดับของMyClass |
15 | $(":empty") เลือกองค์ประกอบทั้งหมดที่ไม่มีลูก |
16 | $("p:empty") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <p> ที่ไม่มีลูก |
17 | $("div[p]") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <div> ที่มีองค์ประกอบที่ตรงกับ <p> |
18 | $("p[.myclass]") เลือกองค์ประกอบทั้งหมดจับคู่โดย <p> ที่มีองค์ประกอบที่มีระดับของMyClass |
19 | $("a[@rel]") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <a> ที่มีแอตทริบิวต์ rel |
20 | $("input[@name = myname]") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <input> ซึ่งมีค่าชื่อเท่ากับmyname ทุกประการ |
21 | $("input[@name^=myname]") เลือกองค์ประกอบทั้งหมดจับคู่โดย <input> ที่มีค่าชื่อขึ้นต้นด้วยmyname |
22 | $("a[@rel$=self]") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <a> ที่มี relค่าแอตทริบิวต์ที่ลงท้ายด้วยตนเอง |
23 | $("a[@href*=domain.com]") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <a> ที่มีค่า href ที่มี domain.com |
24 | $("li:even") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <li> ที่มีค่าดัชนีคู่ |
25 | $("tr:odd") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <tr> ที่มีค่าดัชนีคี่ |
26 | $("li:first") เลือกองค์ประกอบ <li> แรก |
27 | $("li:last") เลือกองค์ประกอบ <li> สุดท้าย |
28 | $("li:visible") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <li> ที่มองเห็นได้ |
29 | $("li:hidden") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <li> ที่ซ่อนอยู่ |
30 | $(":radio") เลือกปุ่มตัวเลือกทั้งหมดในแบบฟอร์ม |
31 | $(":checked") เลือกกล่องกาเครื่องหมายทั้งหมดในแบบฟอร์ม |
32 | $(":input") เลือกเฉพาะองค์ประกอบของฟอร์ม (อินพุตเลือกพื้นที่ข้อความปุ่ม) |
33 | $(":text") เลือกเฉพาะองค์ประกอบข้อความ (input [type = text]) |
34 | $("li:eq(2)") เลือกองค์ประกอบ <li> ที่สาม |
35 | $("li:eq(4)") เลือกองค์ประกอบ <li> ที่ห้า |
36 | $("li:lt(2)") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <li> องค์ประกอบก่อนองค์ประกอบที่สาม กล่าวอีกนัยหนึ่งคือสอง <li> องค์ประกอบแรก |
37 | $("p:lt(3)") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <p> องค์ประกอบก่อนองค์ประกอบที่สี่ กล่าวอีกนัยหนึ่งคือสาม <p> องค์ประกอบแรก |
38 | $("li:gt(1)") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <li> หลังจากองค์ประกอบที่สอง |
39 | $("p:gt(2)") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <p> หลังจากองค์ประกอบที่สาม |
40 | $("div/p") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <p> ซึ่งเป็นลูกขององค์ประกอบที่จับคู่โดย <div> |
41 | $("div//code") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <code> ซึ่งเป็นลูกหลานขององค์ประกอบที่จับคู่โดย <div> |
42 | $("//p//a") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <a> ซึ่งเป็นลูกหลานขององค์ประกอบที่จับคู่โดย <p> |
43 | $("li:first-child") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <li> ซึ่งเป็นลูกคนแรกของพาเรนต์ |
44 | $("li:last-child") เลือกองค์ประกอบทั้งหมดที่ตรงกับ <li> ซึ่งเป็นลูกคนสุดท้ายของพาเรนต์ |
45 | $(":parent") เลือกองค์ประกอบทั้งหมดที่เป็นพาเรนต์ขององค์ประกอบอื่นรวมทั้งข้อความ |
46 | $("li:contains(second)") เลือกองค์ประกอบทั้งหมดที่จับคู่โดย <li> ที่มีข้อความที่สอง |
คุณสามารถใช้ตัวเลือกทั้งหมดข้างต้นกับองค์ประกอบ HTML / XML ในลักษณะทั่วไป ตัวอย่างเช่นถ้าตัวเลือก$("li:first") ใช้ได้กับ <li> องค์ประกอบแล้ว $("p:first") ยังใช้งานได้กับ <p> องค์ประกอบ
ส่วนประกอบพื้นฐานที่สุดบางส่วนที่เราสามารถจัดการได้เมื่อพูดถึงองค์ประกอบ DOM คือคุณสมบัติและแอตทริบิวต์ที่กำหนดให้กับองค์ประกอบเหล่านั้น
แอตทริบิวต์เหล่านี้ส่วนใหญ่พร้อมใช้งานผ่าน JavaScript เป็นคุณสมบัติโหนด DOM คุณสมบัติทั่วไปบางประการ ได้แก่ -
- className
- tagName
- id
- href
- title
- rel
- src
พิจารณามาร์กอัป HTML ต่อไปนี้สำหรับองค์ประกอบรูปภาพ -
<img id = "imageid" src = "image.gif" alt = "Image" class = "myclass"
title = "This is an image"/>
ในมาร์กอัปขององค์ประกอบนี้ชื่อแท็กคือ img และมาร์กอัปสำหรับ id, src, alt, คลาสและหัวเรื่องแสดงถึงแอตทริบิวต์ขององค์ประกอบซึ่งแต่ละรายการประกอบด้วยชื่อและค่า
jQuery ช่วยให้เราสามารถจัดการกับคุณลักษณะขององค์ประกอบได้อย่างง่ายดายและช่วยให้เราสามารถเข้าถึงองค์ประกอบเพื่อให้เราสามารถเปลี่ยนคุณสมบัติได้
รับค่าคุณสมบัติ
attr() สามารถใช้วิธีการดึงค่าของแอตทริบิวต์จากองค์ประกอบแรกในชุดที่ตรงกันหรือกำหนดค่าแอตทริบิวต์ไปยังองค์ประกอบที่ตรงกันทั้งหมด
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่ดึงแอตทริบิวต์ title ของ <em> แท็กและตั้งค่า <div id = "divid"> ด้วยค่าเดียวกัน -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { var title = $("em").attr("title");
$("#divid").text(title);
});
</script>
</head>
<body>
<div>
<em title = "Bold and Brave">This is first paragraph.</em>
<p id = "myid">This is second paragraph.</p>
<div id = "divid"></div>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
ตั้งค่าคุณสมบัติ
attr(name, value) สามารถใช้วิธีการตั้งชื่อแอตทริบิวต์ให้กับองค์ประกอบทั้งหมดในชุดที่ห่อโดยใช้ค่าที่ผ่าน
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่ชุด src แอตทริบิวต์ของแท็กรูปภาพไปยังตำแหน่งที่ถูกต้อง -
<html>
<head>
<title>The jQuery Example</title>
<base href="https://www.tutorialspoint.com" />
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("#myimg").attr("src", "/jquery/images/jquery.jpg");
});
</script>
</head>
<body>
<div>
<img id = "myimg" src = "/images/jquery.jpg" alt = "Sample image" />
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การใช้สไตล์
addClass( classes )สามารถใช้วิธีการเพื่อนำสไตล์ชีตที่กำหนดไปใช้กับองค์ประกอบที่ตรงกันทั้งหมด คุณสามารถระบุหลายชั้นเรียนโดยคั่นด้วยช่องว่าง
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่กำหนด class แอตทริบิวต์ของพารา <p> แท็ก -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("em").addClass("selected"); $("#myid").addClass("highlight");
});
</script>
<style>
.selected { color:red; }
.highlight { background:yellow; }
</style>
</head>
<body>
<em title = "Bold and Brave">This is first paragraph.</em>
<p id = "myid">This is second paragraph.</p>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการระบุคุณสมบัติ
ตารางต่อไปนี้แสดงวิธีการที่มีประโยชน์บางอย่างซึ่งคุณสามารถใช้เพื่อจัดการแอตทริบิวต์และคุณสมบัติ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | attr (คุณสมบัติ) ตั้งค่าออบเจ็กต์คีย์ / ค่าเป็นคุณสมบัติให้กับองค์ประกอบที่ตรงกันทั้งหมด |
2 | attr (คีย์ fn) ตั้งค่าคุณสมบัติเดียวเป็นค่าที่คำนวณบนองค์ประกอบที่ตรงกันทั้งหมด |
3 | removeAttr (ชื่อ) ลบแอตทริบิวต์จากแต่ละองค์ประกอบที่ตรงกัน |
4 | hasClass (คลาส) ส่งคืนจริงหากคลาสที่ระบุมีอยู่อย่างน้อยหนึ่งชุดขององค์ประกอบที่ตรงกัน |
5 | removeClass (คลาส) ลบคลาสทั้งหมดหรือคลาสที่ระบุออกจากชุดขององค์ประกอบที่ตรงกัน |
6 | toggleClass (คลาส) เพิ่มคลาสที่ระบุหากไม่มีอยู่ให้ลบคลาสที่ระบุหากมีอยู่ |
7 | html () รับเนื้อหา html (innerHTML) ขององค์ประกอบแรกที่ตรงกัน |
8 | html (วาล) ตั้งค่าเนื้อหา html ของทุกองค์ประกอบที่ตรงกัน |
9 | ข้อความ () รับเนื้อหาข้อความรวมขององค์ประกอบที่ตรงกันทั้งหมด |
10 | ข้อความ (วาล) ตั้งค่าเนื้อหาข้อความขององค์ประกอบที่ตรงกันทั้งหมด |
11 | วาล () รับค่าอินพุตขององค์ประกอบแรกที่ตรงกัน |
12 | val (วาล) ตั้งค่าแอตทริบิวต์ค่าของทุกองค์ประกอบที่ตรงกันถ้ามันถูกเรียกบน <input> แต่ถ้ามันถูกเรียกบน <select> ด้วยค่า <option> ที่ผ่านจะถูกเลือกตัวเลือกที่ผ่านถ้ามันถูกเรียกในกล่องกาเครื่องหมายหรือกล่องวิทยุแล้ว จะมีการเลือกช่องทำเครื่องหมายและกล่องวิทยุที่ตรงกันทั้งหมด |
ตัวอย่าง
คล้ายกับไวยากรณ์และตัวอย่างข้างต้นตัวอย่างต่อไปนี้จะช่วยให้คุณเข้าใจในการใช้วิธีการแอตทริบิวต์ต่างๆในสถานการณ์ที่แตกต่างกัน -
ซีเนียร์ | ตัวเลือกและคำอธิบาย |
---|---|
1 | $("#myID").attr("custom") สิ่งนี้จะส่งคืนค่าของแอตทริบิวต์ที่กำหนดเองสำหรับองค์ประกอบแรกที่ตรงกับ ID myID |
2 | $("img").attr("alt", "Sample Image") สิ่งนี้จะตั้งค่า alt แอตทริบิวต์ของรูปภาพทั้งหมดเป็นค่าใหม่ "รูปภาพตัวอย่าง" |
3 | $("input").attr({ value: "", title: "Please enter a value" }); ตั้งค่าทั้งหมด <input> องค์ประกอบเป็นสตริงที่ว่างเปล่าเช่นเดียวกับชุดตัวอย่าง jQuery สตริงโปรดป้อนค่า |
4 | $("a[href^=https://]").attr("target","_blank") เลือกการเชื่อมโยงทั้งหมดที่มีแอตทริบิวต์ href เริ่มต้นด้วยhttps: //และการตั้งค่าแอตทริบิวต์เป้าหมายในการ_ blank |
5 | $("a").removeAttr("target") การดำเนินการนี้จะลบแอตทริบิวต์เป้าหมายของลิงก์ทั้งหมด |
6 | $("form").submit(function() {$(":submit",this).attr("disabled", "disabled");}); การดำเนินการนี้จะแก้ไขแอตทริบิวต์ที่ปิดใช้งานเป็นค่า "ปิดใช้งาน" ในขณะที่คลิกปุ่มส่ง |
7 | $("p:last").hasClass("selected") ผลตอบแทนนี้จริงถ้า <p> แท็กที่ผ่านมามีระดับความสัมพันธ์ที่เลือก |
8 | $("p").text() ส่งคืนสตริงที่มีเนื้อหาข้อความรวมของ <p> องค์ประกอบที่ตรงกันทั้งหมด |
9 | $("p").text("<i>Hello World</i>") สิ่งนี้จะตั้งค่า "<I> Hello World </I>" เป็นเนื้อหาข้อความขององค์ประกอบ <p> ที่ตรงกัน |
10 | $("p").html() สิ่งนี้ส่งคืนเนื้อหา HTML ของย่อหน้าที่ตรงกันทั้งหมด |
11 | $("div").html("Hello World") นี้จะกำหนดเนื้อหา HTML ของการจับคู่ทั้งหมด <div> เพื่อHello World |
12 | $("input:checkbox:checked").val() รับค่าแรกจากช่องทำเครื่องหมายที่เลือก |
13 | $("input:radio[name=bar]:checked").val() รับค่าแรกจากชุดปุ่มตัวเลือก |
14 | $("button").val("Hello") ตั้งค่าแอตทริบิวต์ค่าของทุกองค์ประกอบที่ตรงกัน <button> |
15 | $("input").val("on") การดำเนินการนี้จะทำเครื่องหมายที่ปุ่มวิทยุหรือช่องทำเครื่องหมายทั้งหมดที่มีค่าเป็น "เปิด" |
16 | $("select").val("Orange") นี่จะเป็นการเลือกตัวเลือก Orange ในกล่องแบบเลื่อนลงที่มีตัวเลือก Orange, Mango และ Banana |
17 | $("select").val("Orange", "Mango") นี่จะเป็นการเลือกตัวเลือก Orange และ Mango ในกล่องแบบเลื่อนลงที่มีตัวเลือก Orange, Mango และ Banana |
jQuery เป็นเครื่องมือที่มีประสิทธิภาพมากซึ่งมีวิธีการส่งผ่าน DOM ที่หลากหลายเพื่อช่วยให้เราเลือกองค์ประกอบในเอกสารแบบสุ่มและในวิธีการตามลำดับ DOM Traversal Methods ส่วนใหญ่ไม่ได้ปรับเปลี่ยนอ็อบเจ็กต์ jQuery และใช้เพื่อกรององค์ประกอบออกจากเอกสารตามเงื่อนไขที่กำหนด
ค้นหาองค์ประกอบตามดัชนี
พิจารณาเอกสารง่ายๆที่มีเนื้อหา HTML ต่อไปนี้ -
<html>
<head>
<title>The JQuery Example</title>
</head>
<body>
<div>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
ด้านบนทุกรายการมีดัชนีของตัวเองและสามารถระบุตำแหน่งได้โดยตรงโดยใช้ eq(index) วิธีการดังตัวอย่างด้านล่าง
ทุกองค์ประกอบย่อยเริ่มต้นดัชนีจากศูนย์ดังนั้นรายการ 2จะเข้าถึงได้โดยใช้$("li").eq(1) และอื่น ๆ
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่เพิ่มสีให้กับรายการที่สอง
<html>
<head>
<title>The JQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("li").eq(2).addClass("selected");
});
</script>
<style>
.selected { color:red; }
</style>
</head>
<body>
<div>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การกรององค์ประกอบออก
filter( selector )วิธีนี้สามารถใช้เพื่อกรององค์ประกอบทั้งหมดออกจากชุดขององค์ประกอบที่ตรงกันซึ่งไม่ตรงกับตัวเลือกที่ระบุ เลือกสามารถเขียนได้โดยใช้ไวยากรณ์เลือกใด ๆ
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่ใช้สีกับรายการที่เกี่ยวข้องกับชนชั้นกลาง -
<html>
<head>
<title>The JQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("li").filter(".middle").addClass("selected");
});
</script>
<style>
.selected { color:red; }
</style>
</head>
<body>
<div>
<ul>
<li class = "top">list item 1</li>
<li class = "top">list item 2</li>
<li class = "middle">list item 3</li>
<li class = "middle">list item 4</li>
<li class = "bottom">list item 5</li>
<li class = "bottom">list item 6</li>
</ul>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
ค้นหาองค์ประกอบลูกหลาน
find( selector )สามารถใช้วิธีการเพื่อค้นหาองค์ประกอบที่สืบทอดทั้งหมดขององค์ประกอบบางประเภท เลือกสามารถเขียนได้โดยใช้ไวยากรณ์เลือกใด ๆ
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่เลือก <span> องค์ประกอบทั้งหมดที่มีอยู่ใน <p> องค์ประกอบต่างๆ -
<html>
<head>
<title>The JQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("p").find("span").addClass("selected");
});
</script>
<style>
.selected { color:red; }
</style>
</head>
<body>
<p>This is 1st paragraph and <span>THIS IS RED</span></p>
<p>This is 2nd paragraph and <span>THIS IS ALSO RED</span></p>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการกรอง JQuery DOM
ตารางต่อไปนี้แสดงวิธีการที่มีประโยชน์ซึ่งคุณสามารถใช้เพื่อกรององค์ประกอบต่างๆออกจากรายการองค์ประกอบ DOM -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | eq (ดัชนี) ลดชุดขององค์ประกอบที่ตรงกันให้เหลือเพียงองค์ประกอบเดียว |
2 | ตัวกรอง (ตัวเลือก) ลบองค์ประกอบทั้งหมดออกจากชุดขององค์ประกอบที่ตรงกันซึ่งไม่ตรงกับตัวเลือกที่ระบุ |
3 | ตัวกรอง (fn) ลบองค์ประกอบทั้งหมดออกจากชุดขององค์ประกอบที่ตรงกันซึ่งไม่ตรงกับฟังก์ชันที่ระบุ |
4 | คือ (ตัวเลือก) ตรวจสอบการเลือกปัจจุบันเทียบกับนิพจน์และส่งกลับค่าจริงหากองค์ประกอบของการเลือกอย่างน้อยหนึ่งรายการตรงกับตัวเลือกที่กำหนด |
5 | แผนที่ (โทรกลับ) แปลชุดขององค์ประกอบในวัตถุ jQuery เป็นชุดของค่าอื่นในอาร์เรย์ jQuery (ซึ่งอาจมีหรือไม่มีองค์ประกอบก็ได้) |
6 | ไม่ (ตัวเลือก) ลบองค์ประกอบที่ตรงกับตัวเลือกที่ระบุออกจากชุดขององค์ประกอบที่ตรงกัน |
7 | ชิ้น (เริ่ม, [จบ]) เลือกส่วนย่อยขององค์ประกอบที่ตรงกัน |
วิธีการข้าม JQuery DOM
ตารางต่อไปนี้แสดงวิธีการที่มีประโยชน์อื่น ๆ ซึ่งคุณสามารถใช้เพื่อค้นหาองค์ประกอบต่างๆใน DOM -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | เพิ่ม (ตัวเลือก) เพิ่มองค์ประกอบที่จับคู่โดยตัวเลือกที่กำหนดให้กับชุดขององค์ประกอบที่ตรงกัน |
2 | และตนเอง () เพิ่มการเลือกก่อนหน้าในการเลือกปัจจุบัน |
3 | เด็ก ๆ ([ตัวเลือก]) รับชุดขององค์ประกอบที่มีชายด์ที่ไม่ซ้ำกันทั้งหมดของชุดองค์ประกอบที่ตรงกัน |
4 | ใกล้เคียงที่สุด (ตัวเลือก) รับชุดองค์ประกอบที่มีองค์ประกอบหลักที่ใกล้เคียงที่สุดซึ่งตรงกับตัวเลือกที่ระบุซึ่งรวมองค์ประกอบเริ่มต้น |
5 | เนื้อหา () ค้นหาโหนดลูกทั้งหมดภายในองค์ประกอบที่ตรงกัน (รวมถึงโหนดข้อความ) หรือเอกสารเนื้อหาหากองค์ประกอบนั้นเป็น iframe |
6 | จบ () เปลี่ยนกลับการดำเนินการ 'ทำลายล้าง' ล่าสุดโดยเปลี่ยนชุดขององค์ประกอบที่ตรงกันเป็นสถานะก่อนหน้า |
7 | ค้นหา (ตัวเลือก) ค้นหาองค์ประกอบลูกหลานที่ตรงกับตัวเลือกที่ระบุ |
8 | ถัดไป ([ตัวเลือก]) รับชุดองค์ประกอบที่มีพี่น้องถัดไปที่ไม่ซ้ำกันของแต่ละชุดองค์ประกอบที่กำหนด |
9 | ถัดไปทั้งหมด ([ตัวเลือก]) ค้นหาองค์ประกอบพี่น้องทั้งหมดหลังองค์ประกอบปัจจุบัน |
10 | ชดเชยผู้ปกครอง () ส่งคืนคอลเล็กชัน jQuery พร้อมกับพาเรนต์ที่อยู่ในตำแหน่งขององค์ประกอบแรกที่ตรงกัน |
11 | ผู้ปกครอง ([ตัวเลือก]) รับผู้ปกครองโดยตรงขององค์ประกอบ หากเรียกชุดขององค์ประกอบพาเรนต์จะส่งกลับชุดขององค์ประกอบหลักโดยตรงที่ไม่ซ้ำกัน |
12 | ผู้ปกครอง ([ตัวเลือก]) รับชุดองค์ประกอบที่มีบรรพบุรุษที่ไม่ซ้ำกันของชุดองค์ประกอบที่ตรงกัน (ยกเว้นองค์ประกอบราก) |
13 | ก่อนหน้า ([ตัวเลือก]) รับชุดองค์ประกอบที่มีพี่น้องก่อนหน้าที่ไม่ซ้ำกันของแต่ละชุดขององค์ประกอบที่ตรงกัน |
14 | ก่อนหน้าทั้งหมด ([ตัวเลือก]) ค้นหาองค์ประกอบพี่น้องทั้งหมดด้านหน้าองค์ประกอบปัจจุบัน |
15 | พี่น้อง ([ตัวเลือก]) รับชุดองค์ประกอบที่มีพี่น้องที่ไม่ซ้ำกันทั้งหมดของชุดองค์ประกอบที่ตรงกัน |
ไลบรารี jQuery สนับสนุนตัวเลือกเกือบทั้งหมดที่รวมอยู่ในข้อกำหนด Cascading Style Sheet (CSS) 1 ถึง 3 ตามที่ระบุไว้ในไซต์ของ World Wide Web Consortium
การใช้นักพัฒนาไลบรารี JQuery สามารถปรับปรุงเว็บไซต์ของตนได้โดยไม่ต้องกังวลเกี่ยวกับเบราว์เซอร์และเวอร์ชันตราบเท่าที่เบราว์เซอร์เปิดใช้งาน JavaScript
วิธีการ CSS ของ JQuery ส่วนใหญ่ไม่ได้แก้ไขเนื้อหาของวัตถุ jQuery และใช้เพื่อใช้คุณสมบัติ CSS กับองค์ประกอบ DOM
ใช้คุณสมบัติ CSS
นี่เป็นเรื่องง่ายมากที่จะใช้คุณสมบัติ CSS ใด ๆ โดยใช้วิธี JQuery css( PropertyName, PropertyValue ).
นี่คือไวยากรณ์สำหรับวิธีการ -
selector.css( PropertyName, PropertyValue );
ที่นี่คุณสามารถส่งPropertyNameเป็นสตริงจาวาสคริปต์และขึ้นอยู่กับค่าของมันPropertyValueอาจเป็นสตริงหรือจำนวนเต็ม
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่เพิ่มสีแบบอักษรให้กับรายการที่สอง
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("li").eq(2).css("color", "red");
});
</script>
</head>
<body>
<div>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
ใช้คุณสมบัติ CSS หลายรายการ
คุณสามารถใช้คุณสมบัติ CSS หลายรายการโดยใช้วิธี JQuery เดียว CSS( {key1:val1, key2:val2....). คุณสามารถใช้คุณสมบัติได้มากเท่าที่คุณต้องการในการโทรครั้งเดียว
นี่คือไวยากรณ์สำหรับวิธีการ -
selector.css( {key1:val1, key2:val2....keyN:valN})
ที่นี่คุณสามารถส่งผ่านคีย์เป็นคุณสมบัติและค่าตามที่อธิบายไว้ข้างต้น
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่เพิ่มสีแบบอักษรและสีพื้นหลังให้กับรายการที่สอง
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("li").eq(2).css({"color":"red", "background-color":"green"});
});
</script>
</head>
<body>
<div>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การตั้งค่าความกว้างและความสูงขององค์ประกอบ
width( val ) และ height( val ) สามารถใช้วิธีการตั้งค่าความกว้างและความสูงตามลำดับขององค์ประกอบใด ๆ
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างง่ายๆที่กำหนดความกว้างขององค์ประกอบการหารแรกโดยที่องค์ประกอบที่เหลือมีความกว้างที่กำหนดโดยสไตล์ชีต
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("div:first").width(100); $("div:first").css("background-color", "blue");
});
</script>
<style>
div {
width:70px; height:50px; float:left;
margin:5px; background:red; cursor:pointer;
}
</style>
</head>
<body>
<div></div>
<div>d</div>
<div>d</div>
<div>d</div>
<div>d</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการ jQuery CSS
ตารางต่อไปนี้แสดงวิธีการทั้งหมดที่คุณสามารถใช้เพื่อเล่นกับคุณสมบัติ CSS -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | css (ชื่อ) ส่งคืนคุณสมบัติสไตล์ในองค์ประกอบแรกที่ตรงกัน |
2 | css (ชื่อค่า) ตั้งค่าคุณสมบัติสไตล์เดียวเป็นค่าขององค์ประกอบที่ตรงกันทั้งหมด |
3 | css (คุณสมบัติ) ตั้งค่าออบเจ็กต์คีย์ / ค่าเป็นคุณสมบัติสไตล์ให้กับองค์ประกอบที่ตรงกันทั้งหมด |
4 | ความสูง (วาล) ตั้งค่าความสูง CSS ของทุกองค์ประกอบที่ตรงกัน |
5 | ความสูง () รับพิกเซลความสูงที่คำนวณในปัจจุบันขององค์ประกอบแรกที่ตรงกัน |
6 | ด้านในความสูง () รับความสูงภายใน (ไม่รวมเส้นขอบและรวมช่องว่างภายใน) สำหรับองค์ประกอบแรกที่ตรงกัน |
7 | innerWidth () รับความกว้างด้านใน (ไม่รวมเส้นขอบและรวมช่องว่างภายใน) สำหรับองค์ประกอบแรกที่ตรงกัน |
8 | ชดเชย () รับค่าชดเชยปัจจุบันขององค์ประกอบแรกที่ตรงกันเป็นพิกเซลที่สัมพันธ์กับเอกสาร |
9 | ชดเชยผู้ปกครอง () ส่งคืนคอลเล็กชัน jQuery พร้อมกับพาเรนต์ที่อยู่ในตำแหน่งขององค์ประกอบแรกที่ตรงกัน |
10 | ด้านนอกความสูง ([ระยะขอบ]) รับความสูงภายนอก (รวมถึงเส้นขอบและช่องว่างตามค่าเริ่มต้น) สำหรับองค์ประกอบแรกที่ตรงกัน |
11 | outerWidth ([ระยะขอบ]) รับความกว้างด้านนอก (รวมถึงเส้นขอบและช่องว่างตามค่าเริ่มต้น) สำหรับองค์ประกอบแรกที่ตรงกัน |
12 | ตำแหน่ง () รับตำแหน่งด้านบนและด้านซ้ายขององค์ประกอบที่สัมพันธ์กับแม่แบบออฟเซ็ต |
13 | scrollLeft (วาล) เมื่อมีการส่งผ่านค่าออฟเซ็ตเลื่อนด้านซ้ายจะถูกกำหนดเป็นค่านั้นในองค์ประกอบที่ตรงกันทั้งหมด |
14 | scrollLeft () รับค่าชดเชยการเลื่อนซ้ายขององค์ประกอบแรกที่ตรงกัน |
15 | scrollTop (วาล) เมื่อค่าถูกส่งเข้าค่าออฟเซ็ตด้านบนของการเลื่อนจะถูกกำหนดเป็นค่านั้นในองค์ประกอบที่ตรงกันทั้งหมด |
16 | scrollTop () รับค่าออฟเซ็ตเลื่อนด้านบนขององค์ประกอบแรกที่ตรงกัน |
17 | ความกว้าง (วาล) ตั้งค่าความกว้าง CSS ของทุกองค์ประกอบที่ตรงกัน |
18 | ความกว้าง () รับความกว้างพิกเซลที่คำนวณในปัจจุบันขององค์ประกอบแรกที่ตรงกัน |
JQuery มีวิธีการจัดการ DOM อย่างมีประสิทธิภาพ คุณไม่จำเป็นต้องเขียนโค้ดขนาดใหญ่เพื่อแก้ไขค่าแอตทริบิวต์ขององค์ประกอบใด ๆ หรือดึงโค้ด HTML ออกจากย่อหน้าหรือการหาร
JQuery มีเมธอดเช่น .attr (), .html () และ .val () ซึ่งทำหน้าที่เป็น getters ดึงข้อมูลจากองค์ประกอบ DOM เพื่อใช้ในภายหลัง
การจัดการเนื้อหา
html( ) วิธีการรับเนื้อหา html (innerHTML) ขององค์ประกอบแรกที่ตรงกัน
นี่คือไวยากรณ์สำหรับวิธีการ -
selector.html( )
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่ใช้เมธอด. html () และ. text (val) ที่นี่. html () ดึงเนื้อหา HTML จากอ็อบเจ็กต์จากนั้นเมธอด. text (val) กำหนดค่าของอ็อบเจ็กต์โดยใช้พารามิเตอร์ที่ผ่าน -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("div").click(function () {
var content = $(this).html(); $("#result").text( content );
});
});
</script>
<style>
#division{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on the square below:</p>
<span id = "result"> </span>
<div id = "division" style = "background-color:blue;">
This is Blue Square!!
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การเปลี่ยนองค์ประกอบ DOM
คุณสามารถแทนที่องค์ประกอบ DOM ที่สมบูรณ์ด้วยองค์ประกอบ HTML หรือ DOM ที่ระบุ replaceWith( content ) วิธีนี้ตอบสนองจุดประสงค์นี้ได้เป็นอย่างดี
นี่คือไวยากรณ์สำหรับวิธีการ -
selector.replaceWith( content )
เนื้อหาคือสิ่งที่คุณต้องการมีแทนองค์ประกอบดั้งเดิม ซึ่งอาจเป็น HTML หรือข้อความธรรมดา
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่จะแทนที่องค์ประกอบการหารด้วย "<h1> JQuery is Great </h1>" -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("div").click(function () {
$(this).replaceWith("<h1>JQuery is Great</h1>");
});
});
</script>
<style>
#division{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on the square below:</p>
<span id = "result"> </span>
<div id = "division" style = "background-color:blue;">
This is Blue Square!!
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การลบองค์ประกอบ DOM
อาจมีสถานการณ์เมื่อคุณต้องการลบองค์ประกอบ DOM อย่างน้อยหนึ่งรายการออกจากเอกสาร JQuery มีสองวิธีในการจัดการกับสถานการณ์
empty( ) วิธีลบโหนดลูกทั้งหมดออกจากชุดขององค์ประกอบที่ตรงกันโดยที่เป็นวิธีการ remove( expr ) วิธีลบองค์ประกอบที่ตรงกันทั้งหมดออกจาก DOM
นี่คือไวยากรณ์สำหรับวิธีการ -
selector.remove( [ expr ])
or
selector.empty( )
คุณสามารถส่งผ่านพารามิเตอร์ตัวexprเพื่อกรองชุดขององค์ประกอบที่จะถูกลบออก
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่จะนำองค์ประกอบออกทันทีที่คลิก -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("div").click(function () { $(this).remove( );
});
});
</script>
<style>
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on any square below:</p>
<span id = "result"> </span>
<div class = "div" style = "background-color:blue;"></div>
<div class = "div" style = "background-color:green;"></div>
<div class = "div" style = "background-color:red;"></div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การแทรกองค์ประกอบ DOM
อาจมีสถานการณ์เกิดขึ้นเมื่อคุณต้องการแทรกองค์ประกอบ DOM ใหม่ในเอกสารที่มีอยู่ของคุณ JQuery มีวิธีการต่างๆในการแทรกองค์ประกอบในตำแหน่งต่างๆ
after( content ) วิธีการแทรกเนื้อหาหลังจากแต่ละองค์ประกอบที่ตรงกันโดยที่เป็นวิธีการ before( content ) วิธีการแทรกเนื้อหาก่อนแต่ละองค์ประกอบที่ตรงกัน
นี่คือไวยากรณ์สำหรับวิธีการ -
selector.after( content )
or
selector.before( content )
นี่คือเนื้อหาที่คุณต้องการแทรก ซึ่งอาจเป็น HTML หรือข้อความธรรมดา
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่มีการแทรกองค์ประกอบ <div> ก่อนองค์ประกอบที่คลิก -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("div").click(function () {
$(this).before('<div class="div"></div>' );
});
});
</script>
<style>
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on any square below:</p>
<span id = "result"> </span>
<div class = "div" style = "background-color:blue;"></div>
<div class = "div" style = "background-color:green;"></div>
<div class = "div" style = "background-color:red;"></div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการจัดการ DOM
ตารางต่อไปนี้แสดงวิธีการทั้งหมดที่คุณสามารถใช้เพื่อจัดการองค์ประกอบ DOM -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | หลัง (เนื้อหา) แทรกเนื้อหาหลังจากแต่ละองค์ประกอบที่ตรงกัน |
2 | ผนวก (เนื้อหา) เพิ่มเนื้อหาที่ด้านในของทุกองค์ประกอบที่ตรงกัน |
3 | appendTo (ตัวเลือก) ผนวกองค์ประกอบที่ตรงกันทั้งหมดเข้ากับชุดขององค์ประกอบอื่นที่ระบุไว้ |
4 | ก่อน (เนื้อหา) แทรกเนื้อหาก่อนองค์ประกอบที่ตรงกันแต่ละรายการ |
5 | โคลน (บูล) โคลนจับคู่องค์ประกอบ DOM และตัวจัดการเหตุการณ์ทั้งหมดแล้วเลือกโคลน |
6 | โคลน () โคลนจับคู่องค์ประกอบ DOM และเลือกโคลน |
7 | ว่างเปล่า () ลบโหนดลูกทั้งหมดออกจากชุดขององค์ประกอบที่ตรงกัน |
8 | html (วาล) ตั้งค่าเนื้อหา html ของทุกองค์ประกอบที่ตรงกัน |
9 | html () รับเนื้อหา html (innerHTML) ขององค์ประกอบแรกที่ตรงกัน |
10 | insertAfter (ตัวเลือก) แทรกองค์ประกอบที่ตรงกันทั้งหมดหลังจากที่ระบุไว้ชุดขององค์ประกอบอื่น |
11 | insertBefore (ตัวเลือก) แทรกองค์ประกอบที่ตรงกันทั้งหมดก่อนชุดองค์ประกอบอื่นที่ระบุ |
12 | นำหน้า (เนื้อหา) ใส่เนื้อหาไว้ข้างในของทุกองค์ประกอบที่ตรงกัน |
13 | prependTo (ตัวเลือก) นำหน้าองค์ประกอบที่ตรงกันทั้งหมดกับชุดขององค์ประกอบอื่นที่ระบุไว้ |
14 | ลบ (expr) ลบองค์ประกอบที่ตรงกันทั้งหมดออกจาก DOM |
15 | แทนที่ทั้งหมด (ตัวเลือก) แทนที่องค์ประกอบที่จับคู่โดยตัวเลือกที่ระบุด้วยองค์ประกอบที่ตรงกัน |
16 | แทนที่ด้วย (เนื้อหา) แทนที่องค์ประกอบที่ตรงกันทั้งหมดด้วยองค์ประกอบ HTML หรือ DOM ที่ระบุ |
17 | ข้อความ (วาล) ตั้งค่าเนื้อหาข้อความขององค์ประกอบที่ตรงกันทั้งหมด |
18 | ข้อความ () รับเนื้อหาข้อความรวมขององค์ประกอบที่ตรงกันทั้งหมด |
19 | ห่อ (elem) ห่อองค์ประกอบที่ตรงกันแต่ละรายการด้วยองค์ประกอบที่ระบุ |
20 | ห่อ (html) รวมองค์ประกอบที่ตรงกันแต่ละรายการด้วยเนื้อหา HTML ที่ระบุ |
21 | ห่อทั้งหมด (elem) รวมองค์ประกอบทั้งหมดในชุดที่ตรงกันให้เป็นองค์ประกอบ Wrapper เดียว |
22 | wrapAll (html) รวมองค์ประกอบทั้งหมดในชุดที่ตรงกันให้เป็นองค์ประกอบ Wrapper เดียว |
23 | wrapInner (องค์ประกอบ) รวมเนื้อหาย่อยภายในของแต่ละองค์ประกอบที่ตรงกัน (รวมถึงโหนดข้อความ) ด้วยองค์ประกอบ DOM |
24 | wrapInner (html) รวมเนื้อหาย่อยภายในของแต่ละองค์ประกอบที่ตรงกัน (รวมถึงโหนดข้อความ) ด้วยโครงสร้าง HTML |
เรามีความสามารถในการสร้างเว็บเพจแบบไดนามิกโดยใช้เหตุการณ์ เหตุการณ์คือการกระทำที่สามารถตรวจพบได้โดย Web Application ของคุณ
ต่อไปนี้เป็นตัวอย่างเหตุการณ์ -
- คลิกเมาส์
- การโหลดหน้าเว็บ
- การวางเมาส์เหนือองค์ประกอบ
- การส่งแบบฟอร์ม HTML
- การกดแป้นพิมพ์บนแป้นพิมพ์ของคุณ ฯลฯ
เมื่อเหตุการณ์เหล่านี้ถูกทริกเกอร์คุณสามารถใช้ฟังก์ชันที่กำหนดเองเพื่อทำอะไรก็ได้ที่คุณต้องการกับเหตุการณ์ ฟังก์ชันแบบกำหนดเองเหล่านี้เรียกตัวจัดการเหตุการณ์
ตัวจัดการเหตุการณ์ที่มีผลผูกพัน
การใช้ jQuery Event Model เราสามารถสร้างตัวจัดการเหตุการณ์บนองค์ประกอบ DOM ด้วยไฟล์ bind() วิธีการดังนี้ -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$('div').bind('click', function( event ){
alert('Hi there!');
});
});
</script>
<style>
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on any square below to see the result:</p>
<div class = "div" style = "background-color:blue;">ONE</div>
<div class = "div" style = "background-color:green;">TWO</div>
<div class = "div" style = "background-color:red;">THREE</div>
</body>
</html>
รหัสนี้จะทำให้องค์ประกอบการแบ่งตอบสนองต่อเหตุการณ์การคลิก เมื่อผู้ใช้คลิกภายในส่วนนี้หลังจากนั้นการแจ้งเตือนจะแสดงขึ้น
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
ไวยากรณ์แบบเต็มของคำสั่ง bind () มีดังนี้ -
selector.bind( eventType[, eventData], handler)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ -
eventType- สตริงที่มีประเภทเหตุการณ์ JavaScript เช่นคลิกหรือส่ง อ้างถึงส่วนถัดไปสำหรับรายการประเภทเหตุการณ์ทั้งหมด
eventData - พารามิเตอร์นี้เป็นทางเลือกคือแผนที่ของข้อมูลที่จะส่งต่อไปยังตัวจัดการเหตุการณ์
handler - ฟังก์ชั่นที่จะดำเนินการทุกครั้งที่เกิดเหตุการณ์
การลบตัวจัดการเหตุการณ์
โดยทั่วไปเมื่อสร้างตัวจัดการเหตุการณ์แล้วจะยังคงมีผลในช่วงที่เหลือของอายุการใช้งานของเพจ อาจมีความจำเป็นเมื่อคุณต้องการลบตัวจัดการเหตุการณ์
jQuery ให้ไฟล์ unbind()คำสั่งเพื่อลบตัวจัดการเหตุการณ์ที่ออก ไวยากรณ์ของ unbind () มีดังนี้ -
selector.unbind(eventType, handler)
or
selector.unbind(eventType)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ -
eventType- สตริงที่มีประเภทเหตุการณ์ JavaScript เช่นคลิกหรือส่ง อ้างถึงส่วนถัดไปสำหรับรายการประเภทเหตุการณ์ทั้งหมด
handler - หากมีให้ระบุผู้ฟังเฉพาะที่จะลบออก
ประเภทเหตุการณ์
ซีเนียร์ | ประเภทเหตุการณ์และคำอธิบาย |
---|---|
1 | blur เกิดขึ้นเมื่อองค์ประกอบสูญเสียโฟกัส |
2 | change เกิดขึ้นเมื่อองค์ประกอบเปลี่ยนไป |
3 | click เกิดขึ้นเมื่อคลิกเมาส์ |
4 | dblclick เกิดขึ้นเมื่อคลิกเมาส์สองครั้ง |
5 | error เกิดขึ้นเมื่อมีข้อผิดพลาดในการขนถ่ายเป็นต้น |
6 | focus เกิดขึ้นเมื่อองค์ประกอบได้รับโฟกัส |
7 | keydown เกิดขึ้นเมื่อกดปุ่ม |
8 | keypress เกิดขึ้นเมื่อกดและปล่อยปุ่ม |
9 | keyup เกิดขึ้นเมื่อปล่อยคีย์ |
10 | load เกิดขึ้นเมื่อโหลดเอกสาร |
11 | mousedown เกิดขึ้นเมื่อกดปุ่มเมาส์ |
12 | mouseenter เกิดขึ้นเมื่อเมาส์เข้าสู่พื้นที่องค์ประกอบ |
13 | mouseleave เกิดขึ้นเมื่อเมาส์ออกจากพื้นที่องค์ประกอบ |
14 | mousemove เกิดขึ้นเมื่อตัวชี้เมาส์เคลื่อนที่ |
15 | mouseout เกิดขึ้นเมื่อตัวชี้เมาส์เคลื่อนออกจากองค์ประกอบ |
16 | mouseover เกิดขึ้นเมื่อตัวชี้เมาส์เลื่อนไปที่องค์ประกอบ |
17 | mouseup เกิดขึ้นเมื่อปล่อยปุ่มเมาส์ |
18 | resize เกิดขึ้นเมื่อมีการปรับขนาดหน้าต่าง |
19 | scroll เกิดขึ้นเมื่อเลื่อนหน้าต่าง |
20 | select เกิดขึ้นเมื่อเลือกข้อความ |
21 | submit เกิดขึ้นเมื่อส่งแบบฟอร์ม |
22 | unload เกิดขึ้นเมื่อเอกสารถูกยกเลิกการโหลด |
วัตถุเหตุการณ์
ฟังก์ชันเรียกกลับใช้พารามิเตอร์เดียว เมื่อตัวจัดการถูกเรียกว่าวัตถุเหตุการณ์ JavaScript จะถูกส่งผ่านไป
อ็อบเจ็กต์เหตุการณ์มักไม่จำเป็นและพารามิเตอร์ถูกละไว้เนื่องจากโดยปกติบริบทที่เพียงพอจะพร้อมใช้งานเมื่อตัวจัดการถูกผูกไว้เพื่อทราบว่าต้องทำอะไรเมื่อตัวจัดการถูกทริกเกอร์อย่างไรก็ตามมีแอตทริบิวต์บางอย่างที่คุณจะต้องเข้าถึง
คุณสมบัติของเหตุการณ์
ซีเนียร์ | คุณสมบัติและคำอธิบาย |
---|---|
1 | altKey ตั้งค่าเป็นจริงหากกดปุ่ม Alt เมื่อเหตุการณ์ถูกทริกเกอร์เป็นเท็จถ้าไม่ แป้น Alt มีข้อความว่า Option บนแป้นพิมพ์ Mac ส่วนใหญ่ |
2 | ctrlKey ตั้งค่าเป็นจริงหากกดแป้น Ctrl เมื่อเหตุการณ์ถูกทริกเกอร์เป็นเท็จถ้าไม่ |
3 | data ค่าถ้ามีจะส่งผ่านเป็นพารามิเตอร์ที่สองไปยังคำสั่ง bind () เมื่อสร้างตัวจัดการ |
4 | keyCode สำหรับเหตุการณ์คีย์อัพและคีย์ดาวน์ค่านี้จะส่งคืนคีย์ที่ถูกกด |
5 | metaKey ตั้งค่าเป็นจริงหากกดคีย์ Meta เมื่อเหตุการณ์ถูกทริกเกอร์เป็นเท็จถ้าไม่ คีย์ Meta คือปุ่ม Ctrl บนพีซีและปุ่ม Command บน Macs |
6 | pageX สำหรับเหตุการณ์ของเมาส์ระบุพิกัดแนวนอนของเหตุการณ์ที่สัมพันธ์กับจุดเริ่มต้นของเพจ |
7 | pageY สำหรับเหตุการณ์ของเมาส์ให้ระบุพิกัดแนวตั้งของเหตุการณ์ที่สัมพันธ์กับจุดเริ่มต้นของเพจ |
8 | relatedTarget สำหรับเหตุการณ์ของเมาส์ให้ระบุองค์ประกอบที่เคอร์เซอร์ซ้ายหรือป้อนเมื่อเหตุการณ์ถูกทริกเกอร์ |
9 | screenX สำหรับเหตุการณ์ของเมาส์ให้ระบุพิกัดแนวนอนของเหตุการณ์ที่สัมพันธ์กับจุดเริ่มต้นของหน้าจอ |
10 | screenY สำหรับเหตุการณ์ของเมาส์ระบุพิกัดแนวตั้งของเหตุการณ์ที่สัมพันธ์กับจุดเริ่มต้นของหน้าจอ |
11 | shiftKey ตั้งค่าเป็นจริงหากกดแป้น Shift เมื่อเหตุการณ์ถูกทริกเกอร์เป็นเท็จถ้าไม่ |
12 | target ระบุองค์ประกอบที่เหตุการณ์ถูกทริกเกอร์ |
13 | timeStamp การประทับเวลา (ในหน่วยมิลลิวินาที) เมื่อสร้างเหตุการณ์ |
14 | type สำหรับเหตุการณ์ทั้งหมดระบุประเภทของเหตุการณ์ที่ทริกเกอร์ (ตัวอย่างเช่นคลิก) |
15 | which สำหรับเหตุการณ์แป้นพิมพ์ระบุรหัสตัวเลขสำหรับคีย์ที่ทำให้เกิดเหตุการณ์และสำหรับเหตุการณ์ของเมาส์ระบุว่าปุ่มใดถูกกด (1 สำหรับซ้าย 2 สำหรับกลาง 3 สำหรับขวา) |
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$('div').bind('click', function( event ){
alert('Event type is ' + event.type);
alert('pageX : ' + event.pageX);
alert('pageY : ' + event.pageY);
alert('Target : ' + event.target.innerHTML);
});
});
</script>
<style>
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on any square below to see the result:</p>
<div class = "div" style = "background-color:blue;">ONE</div>
<div class = "div" style = "background-color:green;">TWO</div>
<div class = "div" style = "background-color:red;">THREE</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการจัดกิจกรรม
มีรายการวิธีการที่สามารถเรียกใช้บนวัตถุเหตุการณ์ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | PreventDefault () ป้องกันไม่ให้เบราว์เซอร์ดำเนินการตามค่าเริ่มต้น |
2 | isDefaultPrevented () ส่งคืนว่าเคยเรียก event.preventDefault () บนอ็อบเจ็กต์เหตุการณ์นี้หรือไม่ |
3 | stopPropagation () หยุดการเดือดของเหตุการณ์ไปยังองค์ประกอบหลักป้องกันไม่ให้ตัวจัดการพาเรนต์ได้รับแจ้งเกี่ยวกับเหตุการณ์ |
4 | isPropagationStopped () ส่งคืนว่าเคยเรียก event.stopPropagation () บนอ็อบเจ็กต์เหตุการณ์นี้หรือไม่ |
5 | stopImmediatePropagation () หยุดตัวจัดการที่เหลือจากการดำเนินการ |
6 | isImmediatePropagationStopped () ส่งคืนว่าเคยเรียก event.stopImmediatePropagation () บนวัตถุเหตุการณ์นี้หรือไม่ |
วิธีการจัดการเหตุการณ์
ตารางต่อไปนี้แสดงวิธีการที่เกี่ยวข้องกับเหตุการณ์ที่สำคัญ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | ผูก (ประเภท, [ข้อมูล], fn) เชื่อมโยงตัวจัดการกับเหตุการณ์อย่างน้อยหนึ่งเหตุการณ์ (เช่นการคลิก) สำหรับแต่ละองค์ประกอบที่ตรงกัน ยังสามารถผูกเหตุการณ์ที่กำหนดเอง |
2 | ปิด (เหตุการณ์ [ตัวเลือก] [ตัวจัดการ (eventObject)]) สิ่งนี้ตรงข้ามกับการถ่ายทอดสดโดยจะลบเหตุการณ์สดที่ถูกผูกไว้ |
3 | โฮเวอร์ (เหนือออก) จำลองการวางเมาส์เช่นการเลื่อนเมาส์เปิดและปิดวัตถุ |
4 | บน (เหตุการณ์ [ตัวเลือก] [ข้อมูล] ตัวจัดการ) เชื่อมโยงตัวจัดการกับเหตุการณ์ (เช่นคลิก) สำหรับองค์ประกอบที่จับคู่ในปัจจุบันและอนาคตทั้งหมด ยังสามารถผูกเหตุการณ์ที่กำหนดเอง |
5 | หนึ่ง (ประเภท, [ข้อมูล], fn) เชื่อมโยงตัวจัดการกับเหตุการณ์อย่างน้อยหนึ่งเหตุการณ์ที่จะดำเนินการหนึ่งครั้งสำหรับแต่ละองค์ประกอบที่ตรงกัน |
6 | พร้อม (fn) ผูกฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่ DOM พร้อมที่จะข้ามผ่านและจัดการ |
7 | ทริกเกอร์ (เหตุการณ์ [ข้อมูล]) ทริกเกอร์เหตุการณ์ในทุกองค์ประกอบที่ตรงกัน |
8 | triggerHandler (เหตุการณ์ [ข้อมูล]) ทริกเกอร์ตัวจัดการเหตุการณ์ที่ถูกผูกไว้ทั้งหมดบนองค์ประกอบ |
9 | เลิกผูก ([type], [fn]) สิ่งนี้ตรงกันข้ามกับการผูกมันจะลบเหตุการณ์ที่ถูกผูกไว้ออกจากแต่ละองค์ประกอบที่ตรงกัน |
วิธีการช่วยเหลือเหตุการณ์
jQuery ยังมีชุดของฟังก์ชันตัวช่วยเหตุการณ์ซึ่งสามารถใช้เพื่อทริกเกอร์เหตุการณ์เพื่อเชื่อมโยงประเภทเหตุการณ์ที่กล่าวถึงข้างต้น
วิธีการทริกเกอร์
ต่อไปนี้เป็นตัวอย่างที่จะทำให้เกิดเหตุการณ์เบลอในทุกย่อหน้า -
$("p").blur();
วิธีการผูก
ต่อไปนี้เป็นตัวอย่างที่จะผูกไฟล์ click เหตุการณ์ใน <div> ทั้งหมด -
$("div").click( function () {
// do something here
});
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | blur( ) ทริกเกอร์เหตุการณ์เบลอของแต่ละองค์ประกอบที่ตรงกัน |
2 | blur( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์เบลอของแต่ละองค์ประกอบที่ตรงกัน |
3 | change( ) ทริกเกอร์เหตุการณ์การเปลี่ยนแปลงของแต่ละองค์ประกอบที่ตรงกัน |
4 | change( fn ) ผูกฟังก์ชันกับเหตุการณ์การเปลี่ยนแปลงของแต่ละองค์ประกอบที่ตรงกัน |
5 | click( ) ทริกเกอร์เหตุการณ์การคลิกของแต่ละองค์ประกอบที่ตรงกัน |
6 | click( fn ) เชื่อมโยงฟังก์ชันกับเหตุการณ์การคลิกของแต่ละองค์ประกอบที่ตรงกัน |
7 | dblclick( ) ทริกเกอร์เหตุการณ์ dblclick ของแต่ละองค์ประกอบที่ตรงกัน |
8 | dblclick( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ dblclick ของแต่ละองค์ประกอบที่ตรงกัน |
9 | error( ) ทริกเกอร์เหตุการณ์ข้อผิดพลาดของแต่ละองค์ประกอบที่ตรงกัน |
10 | error( fn ) ผูกฟังก์ชันกับเหตุการณ์ข้อผิดพลาดของแต่ละองค์ประกอบที่ตรงกัน |
11 | focus( ) ทริกเกอร์เหตุการณ์โฟกัสของแต่ละองค์ประกอบที่ตรงกัน |
12 | focus( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์โฟกัสของแต่ละองค์ประกอบที่ตรงกัน |
13 | keydown( ) ทริกเกอร์เหตุการณ์คีย์ดาวน์ของแต่ละองค์ประกอบที่ตรงกัน |
14 | keydown( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์คีย์ดาวน์ของแต่ละองค์ประกอบที่ตรงกัน |
15 | keypress( ) ทริกเกอร์เหตุการณ์การกดแป้นพิมพ์ของแต่ละองค์ประกอบที่ตรงกัน |
16 | keypress( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์การกดแป้นของแต่ละองค์ประกอบที่ตรงกัน |
17 | keyup( ) ทริกเกอร์เหตุการณ์คีย์อัพของแต่ละองค์ประกอบที่ตรงกัน |
18 | keyup( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์คีย์อัพของแต่ละองค์ประกอบที่ตรงกัน |
19 | load( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์โหลดของแต่ละองค์ประกอบที่ตรงกัน |
20 | mousedown( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ที่มีการเลื่อนของแต่ละองค์ประกอบที่ตรงกัน |
21 | mouseenter( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ที่อยู่ตรงกลางของเมาส์ของแต่ละองค์ประกอบที่ตรงกัน |
22 | mouseleave( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์การปล่อยเมาส์ของแต่ละองค์ประกอบที่ตรงกัน |
23 | mousemove( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ mousemove ของแต่ละองค์ประกอบที่ตรงกัน |
24 | mouseout( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ mouseout ของแต่ละองค์ประกอบที่ตรงกัน |
25 | mouseover( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์การวางเมาส์ของแต่ละองค์ประกอบที่ตรงกัน |
26 | mouseup( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์การวางเมาส์ของแต่ละองค์ประกอบที่ตรงกัน |
27 | resize( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์การปรับขนาดของแต่ละองค์ประกอบที่ตรงกัน |
28 | scroll( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์เลื่อนของแต่ละองค์ประกอบที่ตรงกัน |
29 | select( ) ทริกเกอร์เหตุการณ์ที่เลือกของแต่ละองค์ประกอบที่ตรงกัน |
30 | select( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ที่เลือกของแต่ละองค์ประกอบที่ตรงกัน |
31 | submit( ) ทริกเกอร์เหตุการณ์ส่งของแต่ละองค์ประกอบที่ตรงกัน |
32 | submit( fn ) ผูกฟังก์ชันเข้ากับเหตุการณ์ส่งของแต่ละองค์ประกอบที่ตรงกัน |
33 | unload( fn ) ผูกฟังก์ชันกับเหตุการณ์ยกเลิกการโหลดของแต่ละองค์ประกอบที่ตรงกัน |
AJAX เป็นคำย่อที่ย่อมาจาก Asynchronous JavaScript และ XML และเทคโนโลยีนี้ช่วยให้เราโหลดข้อมูลจากเซิร์ฟเวอร์โดยไม่ต้องรีเฟรชหน้าเบราว์เซอร์
หากคุณยังใหม่กับ AJAX ฉันขอแนะนำให้คุณอ่านบทแนะนำ Ajaxของเราก่อนดำเนินการต่อ
JQuery เป็นเครื่องมือที่ยอดเยี่ยมซึ่งมีชุดวิธีการ AJAX มากมายเพื่อพัฒนาเว็บแอปพลิเคชันรุ่นต่อไป
กำลังโหลดข้อมูลอย่างง่าย
การโหลดข้อมูลแบบคงที่หรือไดนามิกโดยใช้ JQuery AJAX ทำได้ง่ายมาก JQuery ให้load() วิธีการทำงาน -
ไวยากรณ์
นี่คือไวยากรณ์ง่ายๆสำหรับ load() วิธีการ -
[selector].load( URL, [data], [callback] );
นี่คือคำอธิบายของพารามิเตอร์ทั้งหมด -
URL- URL ของทรัพยากรฝั่งเซิร์ฟเวอร์ที่ส่งคำขอ อาจเป็นสคริปต์ CGI, ASP, JSP หรือ PHP ซึ่งสร้างข้อมูลแบบไดนามิกหรือจากฐานข้อมูล
data- พารามิเตอร์ทางเลือกนี้แสดงถึงออบเจ็กต์ที่มีคุณสมบัติเป็นอนุกรมเป็นพารามิเตอร์ที่เข้ารหัสอย่างเหมาะสมเพื่อส่งต่อไปยังคำขอ หากระบุไว้คำขอจะทำโดยใช้POSTวิธี. หากละเว้นไฟล์GET ใช้วิธีการ
callback- เรียกใช้ฟังก์ชันการโทรกลับหลังจากโหลดข้อมูลการตอบกลับลงในองค์ประกอบของชุดที่ตรงกัน พารามิเตอร์แรกที่ส่งไปยังฟังก์ชันนี้คือข้อความตอบกลับที่ได้รับจากเซิร์ฟเวอร์และพารามิเตอร์ที่สองคือรหัสสถานะ
ตัวอย่าง
พิจารณาไฟล์ HTML ต่อไปนี้ด้วยการเข้ารหัส JQuery ขนาดเล็ก -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("#driver").click(function(event){ $('#stage').load('/jquery/result.html');
});
});
</script>
</head>
<body>
<p>Click on the button to load /jquery/result.html file −</p>
<div id = "stage" style = "background-color:cc0;">
STAGE
</div>
<input type = "button" id = "driver" value = "Load Data" />
</body>
</html>
ที่นี่ load() เริ่มการร้องขอ Ajax ไปยัง URL ที่ระบุ /jquery/result.htmlไฟล์. หลังจากโหลดไฟล์นี้เนื้อหาทั้งหมดจะมีประชากรภายใน <div> ที่ติดแท็กที่มี ID เวที สมมติว่าไฟล์ /jquery/result.html ของเรามี HTML เพียงบรรทัดเดียว -
<h1>THIS IS RESULT...</h1>
เมื่อคุณคลิกปุ่มที่กำหนดไฟล์ result.html จะถูกโหลด
รับข้อมูล JSON
จะมีสถานการณ์เมื่อเซิร์ฟเวอร์ส่งคืนสตริง JSON ตามคำขอของคุณ ฟังก์ชันยูทิลิตี้ jQuerygetJSON() แยกวิเคราะห์สตริง JSON ที่ส่งคืนและทำให้สตริงผลลัพธ์พร้อมใช้งานสำหรับฟังก์ชันเรียกกลับเป็นพารามิเตอร์แรกเพื่อดำเนินการเพิ่มเติม
ไวยากรณ์
นี่คือไวยากรณ์ง่ายๆสำหรับ getJSON() วิธีการ -
[selector].getJSON( URL, [data], [callback] );
นี่คือคำอธิบายของพารามิเตอร์ทั้งหมด -
URL - URL ของทรัพยากรฝั่งเซิร์ฟเวอร์ที่ติดต่อผ่านเมธอด GET
data - ออบเจ็กต์ที่มีคุณสมบัติเป็นคู่ชื่อ / ค่าที่ใช้ในการสร้างสตริงการสืบค้นที่จะต่อท้าย URL หรือสตริงการสืบค้นที่มีการจัดรูปแบบและเข้ารหัสไว้ล่วงหน้า
callback- ฟังก์ชั่นที่เรียกใช้เมื่อคำขอเสร็จสมบูรณ์ ค่าข้อมูลที่เกิดจากการย่อยเนื้อหาการตอบสนองเป็นสตริง JSON จะถูกส่งผ่านเป็นพารามิเตอร์แรกไปยังการเรียกกลับนี้และสถานะเป็นตัวที่สอง
ตัวอย่าง
พิจารณาไฟล์ HTML ต่อไปนี้ด้วยการเข้ารหัส JQuery ขนาดเล็ก -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("#driver").click(function(event){
$.getJSON('/jquery/result.json', function(jd) { $('#stage').html('<p> Name: ' + jd.name + '</p>');
$('#stage').append('<p>Age : ' + jd.age+ '</p>'); $('#stage').append('<p> Sex: ' + jd.sex+ '</p>');
});
});
});
</script>
</head>
<body>
<p>Click on the button to load result.json file −</p>
<div id = "stage" style = "background-color:#eee;">
STAGE
</div>
<input type = "button" id = "driver" value = "Load Data" />
</body>
</html>
นี่คือวิธียูทิลิตี้ JQuery getJSON() เริ่มการร้องขอ Ajax ไปยัง URL ที่ระบุ result.jsonไฟล์. หลังจากโหลดไฟล์นี้เนื้อหาทั้งหมดจะถูกส่งผ่านไปยังฟังก์ชันการเรียกกลับซึ่งในที่สุดก็จะมีประชากรภายใน <div> ที่ติดแท็กที่มี ID เวที สมมติว่าไฟล์ result.json ของเรามีเนื้อหาตามรูปแบบ json -
{
"name": "Zara Ali",
"age" : "67",
"sex": "female"
}
เมื่อคุณคลิกปุ่มที่กำหนดไฟล์ result.json จะถูกโหลด
การส่งผ่านข้อมูลไปยังเซิร์ฟเวอร์
หลายครั้งที่คุณรวบรวมอินพุตจากผู้ใช้และคุณส่งอินพุตนั้นไปยังเซิร์ฟเวอร์เพื่อประมวลผลต่อไป JQuery AJAX ทำให้ง่ายพอที่จะส่งข้อมูลที่รวบรวมไปยังเซิร์ฟเวอร์โดยใช้ไฟล์data พารามิเตอร์ของเมธอด Ajax ที่มีอยู่
ตัวอย่าง
ตัวอย่างนี้แสดงให้เห็นถึงวิธีการส่งผ่านอินพุตของผู้ใช้ไปยังสคริปต์ของเว็บเซิร์ฟเวอร์ซึ่งจะส่งผลลัพธ์เดียวกันกลับมาและเราจะพิมพ์ -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("#driver").click(function(event){
var name = $("#name").val(); $("#stage").load('/jquery/result.php', {"name":name} );
});
});
</script>
</head>
<body>
<p>Enter your name and click on the button:</p>
<input type = "input" id = "name" size = "40" /><br />
<div id = "stage" style = "background-color:cc0;">
STAGE
</div>
<input type = "button" id = "driver" value = "Show Result" />
</body>
</html>
นี่คือรหัสที่เขียนใน result.php สคริปต์ -
<?php
if( $_REQUEST["name"] ){ $name = $_REQUEST['name']; echo "Welcome ". $name;
}
?>
ตอนนี้คุณสามารถป้อนข้อความใดก็ได้ในช่องป้อนข้อมูลที่กำหนดจากนั้นคลิกปุ่ม "แสดงผลลัพธ์" เพื่อดูสิ่งที่คุณป้อนในช่องป้อนข้อมูล
วิธี JQuery AJAX
คุณได้เห็นแนวคิดพื้นฐานของ AJAX โดยใช้ JQuery ตารางต่อไปนี้แสดงวิธีการ JQuery AJAX ที่สำคัญทั้งหมดซึ่งคุณสามารถใช้ได้ตามความต้องการในการเขียนโปรแกรมของคุณ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | jQuery.ajax (ตัวเลือก) โหลดเพจระยะไกลโดยใช้คำร้องขอ HTTP |
2 | jQuery.ajaxSetup (ตัวเลือก) ตั้งค่าการตั้งค่าส่วนกลางสำหรับคำขอ AJAX |
3 | jQuery.get (url, [data], [callback], [type]) โหลดเพจระยะไกลโดยใช้คำขอ HTTP GET |
4 | jQuery.getJSON (url, [data], [callback]) โหลดข้อมูล JSON โดยใช้คำขอ HTTP GET |
5 | jQuery.getScript (url, [โทรกลับ]) โหลดและเรียกใช้ไฟล์ JavaScript โดยใช้คำขอ HTTP GET |
6 | jQuery.post (url, [data], [callback], [type]) โหลดเพจระยะไกลโดยใช้คำขอ HTTP POST |
7 | โหลด (url, [data], [callback]) โหลด HTML จากไฟล์ระยะไกลและฉีดลงใน DOM |
8 | ทำให้เป็นอนุกรม () ทำให้ชุดขององค์ประกอบอินพุตเป็นชุดข้อมูลเป็นชุดข้อมูล |
9 | ซีเรียลไลซ์อาร์เรย์ () ทำให้ฟอร์มและองค์ประกอบของฟอร์มทั้งหมดเป็นอนุกรมเช่นเมธอด. serialize () แต่ส่งคืนโครงสร้างข้อมูล JSON เพื่อให้คุณใช้งานได้ |
เหตุการณ์ JQuery AJAX
คุณสามารถเรียกใช้วิธีการ JQuery ต่างๆในระหว่างวงจรชีวิตของความคืบหน้าการโทร AJAX ขึ้นอยู่กับเหตุการณ์ / ขั้นตอนที่แตกต่างกันวิธีการดังต่อไปนี้ -
คุณสามารถผ่านกิจกรรม AJAXทั้งหมดได้
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | ajaxComplete (โทรกลับ) แนบฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่คำขอ AJAX เสร็จสมบูรณ์ |
2 | ajaxStart (โทรกลับ) แนบฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่คำขอ AJAX เริ่มต้นขึ้นและไม่มีการใช้งานอยู่แล้ว |
3 | ajaxError (โทรกลับ) แนบฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่คำขอ AJAX ล้มเหลว |
4 | ajaxSend (โทรกลับ) แนบฟังก์ชันที่จะดำเนินการก่อนที่จะส่งคำขอ AJAX |
5 | ajaxStop (โทรกลับ) แนบฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่คำขอ AJAX ทั้งหมดสิ้นสุดลง |
6 | ajaxSuccess (โทรกลับ) แนบฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่คำขอ AJAX ดำเนินการสำเร็จ |
jQuery มีอินเทอร์เฟซที่เรียบง่ายเล็กน้อยสำหรับการทำเอฟเฟกต์ที่น่าทึ่งประเภทต่างๆ วิธีการ jQuery ช่วยให้เราใช้เอฟเฟกต์ที่ใช้กันทั่วไปได้อย่างรวดเร็วด้วยการกำหนดค่าขั้นต่ำ บทช่วยสอนนี้ครอบคลุมวิธีการ jQuery ที่สำคัญทั้งหมดในการสร้างเอฟเฟ็กต์ภาพ
การแสดงและการซ่อนองค์ประกอบ
คำสั่งสำหรับการแสดงและซ่อนองค์ประกอบเป็นสิ่งที่เราคาดหวัง - show() เพื่อแสดงองค์ประกอบในชุดรวมและ hide() เพื่อซ่อนพวกเขา
ไวยากรณ์
นี่คือไวยากรณ์ง่ายๆสำหรับ show() วิธีการ -
[selector].show( speed, [callback] );
นี่คือคำอธิบายของพารามิเตอร์ทั้งหมด -
speed - สตริงที่แสดงถึงหนึ่งในสามความเร็วที่กำหนดไว้ล่วงหน้า ("ช้า" "ปกติ" หรือ "เร็ว") หรือจำนวนมิลลิวินาทีในการเรียกใช้ภาพเคลื่อนไหว (เช่น 1,000)
callback- พารามิเตอร์ทางเลือกนี้แสดงถึงฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่ภาพเคลื่อนไหวเสร็จสิ้น ดำเนินการหนึ่งครั้งสำหรับแต่ละองค์ประกอบที่เคลื่อนไหว
ต่อไปนี้เป็นไวยากรณ์ง่ายๆสำหรับ hide() วิธีการ -
[selector].hide( speed, [callback] );
นี่คือคำอธิบายของพารามิเตอร์ทั้งหมด -
speed - สตริงที่แสดงถึงหนึ่งในสามความเร็วที่กำหนดไว้ล่วงหน้า ("ช้า" "ปกติ" หรือ "เร็ว") หรือจำนวนมิลลิวินาทีในการเรียกใช้ภาพเคลื่อนไหว (เช่น 1,000)
callback- พารามิเตอร์ทางเลือกนี้แสดงถึงฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่ภาพเคลื่อนไหวเสร็จสิ้น ดำเนินการหนึ่งครั้งสำหรับแต่ละองค์ประกอบที่เคลื่อนไหว
ตัวอย่าง
พิจารณาไฟล์ HTML ต่อไปนี้ด้วยการเข้ารหัส JQuery ขนาดเล็ก -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() { $("#show").click(function () {
$(".mydiv").show( 1000 ); }); $("#hide").click(function () {
$(".mydiv").hide( 1000 );
});
});
</script>
<style>
.mydiv{
margin:10px;
padding:12px;
border:2px solid #666;
width:100px;
height:100px;
}
</style>
</head>
<body>
<div class = "mydiv">
This is a SQUARE
</div>
<input id = "hide" type = "button" value = "Hide" />
<input id = "show" type = "button" value = "Show" />
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
การสลับองค์ประกอบ
jQuery มีวิธีการในการสลับสถานะการแสดงผลขององค์ประกอบระหว่างเปิดเผยหรือซ่อน หากองค์ประกอบถูกแสดงในตอนแรกองค์ประกอบนั้นจะถูกซ่อนไว้ หากซ่อนไว้ระบบจะแสดง
ไวยากรณ์
นี่คือไวยากรณ์ง่ายๆสำหรับหนึ่งใน toggle() วิธีการ -
[selector]..toggle([speed][, callback]);
นี่คือคำอธิบายของพารามิเตอร์ทั้งหมด -
speed - สตริงที่แสดงถึงหนึ่งในสามความเร็วที่กำหนดไว้ล่วงหน้า ("ช้า" "ปกติ" หรือ "เร็ว") หรือจำนวนมิลลิวินาทีในการเรียกใช้ภาพเคลื่อนไหว (เช่น 1,000)
callback- พารามิเตอร์ทางเลือกนี้แสดงถึงฟังก์ชันที่จะดำเนินการเมื่อใดก็ตามที่ภาพเคลื่อนไหวเสร็จสิ้น ดำเนินการหนึ่งครั้งสำหรับแต่ละองค์ประกอบที่เคลื่อนไหว
ตัวอย่าง
เราสามารถทำให้องค์ประกอบใด ๆ เคลื่อนไหวได้เช่น <div> ธรรมดาที่มีรูปภาพ -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$(".clickme").click(function(event){ $(".target").toggle('slow', function(){
$(".log").text('Transition Complete');
});
});
});
</script>
<style>
.clickme{
margin:10px;
padding:12px;
border:2px solid #666;
width:100px;
height:50px;
}
</style>
</head>
<body>
<div class = "content">
<div class = "clickme">Click Me</div>
<div class = "target">
<img src = "./images/jquery.jpg" alt = "jQuery" />
</div>
<div class = "log"></div>
</div>
</body>
</html>
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
วิธีการ JQuery Effect
คุณได้เห็นแนวคิดพื้นฐานของ jQuery Effects แล้ว ตารางต่อไปนี้แสดงวิธีการที่สำคัญทั้งหมดในการสร้างเอฟเฟกต์ประเภทต่างๆ -
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | ภาพเคลื่อนไหว (พารามิเตอร์ [ระยะเวลาการค่อยๆเปลี่ยนการโทรกลับ]) ฟังก์ชันสำหรับสร้างภาพเคลื่อนไหวแบบกำหนดเอง |
2 | fadeIn (ความเร็ว [โทรกลับ]) จางหายไปในองค์ประกอบที่ตรงกันทั้งหมดโดยการปรับความทึบและเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
3 | fadeOut (ความเร็ว [โทรกลับ]) ลบองค์ประกอบที่ตรงกันทั้งหมดโดยปรับความทึบเป็น 0 จากนั้นตั้งค่าการแสดงผลเป็น "ไม่มี" และเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
4 | fadeTo (ความเร็วความทึบการโทรกลับ) ลดความทึบขององค์ประกอบที่ตรงกันทั้งหมดให้เป็นความทึบที่ระบุและเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
5 | ซ่อน () ซ่อนชุดขององค์ประกอบที่ตรงกันแต่ละชุดหากมีการแสดง |
6 | ซ่อน (ความเร็ว [โทรกลับ]) ซ่อนองค์ประกอบที่ตรงกันทั้งหมดโดยใช้ภาพเคลื่อนไหวที่สวยงามและเริ่มการเรียกกลับที่เป็นตัวเลือกหลังจากเสร็จสิ้น |
7 | แสดง () แสดงชุดขององค์ประกอบที่ตรงกันหากซ่อนอยู่ |
8 | แสดง (ความเร็ว [โทรกลับ]) แสดงองค์ประกอบที่ตรงกันทั้งหมดโดยใช้ภาพเคลื่อนไหวที่สวยงามและเริ่มการเรียกกลับที่เป็นทางเลือกหลังจากเสร็จสิ้น |
9 | slideDown (ความเร็ว [โทรกลับ]) เปิดเผยองค์ประกอบที่ตรงกันทั้งหมดโดยปรับความสูงและเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
10 | slideToggle (ความเร็ว [โทรกลับ]) สลับการมองเห็นขององค์ประกอบที่ตรงกันทั้งหมดโดยปรับความสูงและเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
11 | slideUp (ความเร็ว [โทรกลับ]) ซ่อนองค์ประกอบที่ตรงกันทั้งหมดโดยปรับความสูงและเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
12 | หยุด ([clearQueue, gotoEnd]) หยุดภาพเคลื่อนไหวทั้งหมดที่กำลังทำงานอยู่ในองค์ประกอบที่ระบุทั้งหมด |
13 | สลับ () สลับการแสดงชุดองค์ประกอบที่ตรงกันแต่ละชุด |
14 | สลับ (ความเร็ว [โทรกลับ]) สลับการแสดงชุดขององค์ประกอบที่ตรงกันแต่ละชุดโดยใช้ภาพเคลื่อนไหวที่สวยงามและเริ่มการเรียกกลับเพิ่มเติมหลังจากเสร็จสิ้น |
15 | สลับ (สวิตช์) สลับการแสดงชุดขององค์ประกอบที่ตรงกันแต่ละชุดตามสวิตช์ (true แสดงองค์ประกอบทั้งหมดส่วน false จะซ่อนองค์ประกอบทั้งหมด) |
16 | jQuery.fx.off ปิดใช้งานภาพเคลื่อนไหวทั้งหมดทั่วโลก |
ผลกระทบจากไลบรารี UI
ในการใช้เอฟเฟกต์เหล่านี้คุณสามารถดาวน์โหลด jQuery UI Library ล่าสุดได้ jquery-ui-1.11.4.custom.zipจากjQuery UI Libraryหรือใช้ Google CDN เพื่อใช้ในลักษณะเดียวกับที่เราทำกับ jQuery
เราใช้ Google CDN สำหรับ jQuery UI โดยใช้ข้อมูลโค้ดต่อไปนี้ในหน้า HTML เพื่อให้เราสามารถใช้ jQuery UI -
<head>
<script src = "https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js">
</script>
</head>
ซีเนียร์ | วิธีการและคำอธิบาย |
---|---|
1 | ตาบอด บังองค์ประกอบออกไปหรือแสดงโดยทำให้ไม่เห็น |
2 | ตีกลับ ตีกลับองค์ประกอบในแนวตั้งหรือแนวนอน n ครั้ง |
3 | คลิป เปิดหรือปิดองค์ประกอบในแนวตั้งหรือแนวนอน |
4 | วาง ปล่อยองค์ประกอบออกไปหรือแสดงโดยการวางองค์ประกอบ |
5 | ระเบิด ระเบิดองค์ประกอบออกเป็นชิ้น ๆ |
6 | พับ พับองค์ประกอบเหมือนกระดาษ |
7 | ไฮไลต์ เน้นพื้นหลังด้วยสีที่กำหนด |
8 | พัฟ ปรับขนาดและเลือนภาพเคลื่อนไหวสร้างเอฟเฟกต์พัฟ |
9 | กระตุ้น กระตุ้นความทึบขององค์ประกอบหลาย ๆ ครั้ง |
10 | มาตราส่วน ลดขนาดหรือขยายองค์ประกอบตามปัจจัยเปอร์เซ็นต์ |
11 | เขย่า เขย่าองค์ประกอบในแนวตั้งหรือแนวนอน n ครั้ง |
12 | ขนาด ปรับขนาดองค์ประกอบตามความกว้างและความสูงที่ระบุ |
13 | สไลด์ เลื่อนองค์ประกอบออกจากวิวพอร์ต |
14 | โอน โอนโครงร่างขององค์ประกอบไปยังอีกองค์ประกอบหนึ่ง |
การโต้ตอบสามารถเพิ่มพฤติกรรมพื้นฐานของเมาส์ให้กับองค์ประกอบใด ๆ เมื่อใช้กับการโต้ตอบเราสามารถสร้างรายการที่เรียงลำดับได้องค์ประกอบที่ปรับขนาดได้การลากและวางพฤติกรรมการโต้ตอบยังสร้างบล็อคส่วนประกอบที่ยอดเยี่ยมสำหรับวิดเจ็ตและแอปพลิเคชันที่ซับซ้อนมากขึ้น
ซีเนียร์ | การโต้ตอบและคำอธิบาย |
---|---|
1 | ลากได้ เปิดใช้งานฟังก์ชันการลากบนองค์ประกอบ DOM ใด ๆ |
2 | วางได้ เปิดใช้งานองค์ประกอบ DOM ใด ๆ ที่จะสามารถวางได้ |
3 | ปรับขนาดได้ เปิดใช้งานองค์ประกอบ DOM ใด ๆ ที่สามารถปรับขนาดได้ |
4 | เลือกสามารถ เปิดใช้งานองค์ประกอบ DOM (หรือกลุ่มขององค์ประกอบ) เพื่อเลือกได้ |
5 | เรียงลำดับได้ เปิดใช้งานกลุ่มขององค์ประกอบ DOM เพื่อจัดเรียง |
วิดเจ็ต jQuery UI เป็นปลั๊กอิน jQuery พิเศษเมื่อใช้ปลั๊กอินเราสามารถใช้พฤติกรรมกับองค์ประกอบได้ อย่างไรก็ตามปลั๊กอินไม่มีความสามารถในตัวบางอย่างเช่นวิธีเชื่อมโยงข้อมูลกับองค์ประกอบแสดงวิธีการผสานตัวเลือกกับค่าเริ่มต้นและควบคุมอายุการใช้งานของปลั๊กอิน
ซีเนียร์ | วิดเจ็ตและคำอธิบาย |
---|---|
1 | หีบเพลง เปิดใช้งานเพื่อยุบเนื้อหาที่แบ่งออกเป็นส่วนตรรกะ |
2 | เติมข้อความอัตโนมัติ เปิดใช้งานเพื่อให้คำแนะนำในขณะที่คุณพิมพ์ลงในฟิลด์ |
3 | ปุ่ม ปุ่มคืออินพุตประเภท submit และ Anchor |
4 | เลือกวันที่ เป็นการเปิดปฏิทินแบบโต้ตอบในภาพซ้อนทับขนาดเล็ก |
5 | กล่องโต้ตอบ กล่องโต้ตอบเป็นหนึ่งในวิธีที่ดีในการนำเสนอข้อมูลบนหน้า HTML |
6 | เมนู เมนูแสดงรายการ |
7 | แถบความคืบหน้า จะแสดงข้อมูลความคืบหน้า |
8 | เลือกเมนู เปิดใช้งานสไตล์สามารถเลือกองค์ประกอบ / องค์ประกอบ |
9 | ตัวเลื่อน แถบเลื่อนพื้นฐานเป็นแนวนอนและมีที่จับเดียวที่สามารถเคลื่อนย้ายได้ด้วยเมาส์หรือโดยใช้ปุ่มลูกศร |
10 | ตัวหมุน เป็นวิธีที่รวดเร็วในการเลือกค่าหนึ่งจากชุด |
11 | แท็บ ใช้เพื่อสลับระหว่างเนื้อหาที่แบ่งออกเป็นส่วนตรรกะ |
12 | คำแนะนำเครื่องมือ ให้คำแนะนำสำหรับผู้ใช้ |
Jquery มีธีมสไตล์ที่แตกต่างกันสองแบบคือ A และ B แต่ละแบบมีสีที่แตกต่างกันสำหรับปุ่มแถบบล็อกเนื้อหาและอื่น ๆ
ไวยากรณ์ของการค้นหา J ตามที่แสดงด้านล่าง -
<div data-role = "page" data-theme = "a|b">
ตัวอย่างง่ายๆของ A ตามที่แสดงด้านล่าง -
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width, initial-scale = 1">
<link rel = "stylesheet"
href = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src = "https://code.jquery.com/jquery-1.11.3.min.js">
</script>
<script src = "https://code.jquery.com/jquery-1.11.3.min.js">
</script>
<script
src = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js">
</script>
</head>
<body>
<div data-role = "page" id = "pageone" data-theme = "a">
<div data-role = "header">
<h1>Tutorials Point</h1>
</div>
<div data-role = "main" class = "ui-content">
<p>Text link</p>
<a href = "#">A Standard Text Link</a>
<a href = "#" class = "ui-btn">Link Button</a>
<p>A List View:</p>
<ul data-role = "listview" data-autodividers = "true" data-inset = "true">
<li><a href = "#">Android </a></li>
<li><a href = "#">IOS</a></li>
</ul>
<label for = "fullname">Input Field:</label>
<input type = "text" name = "fullname" id = "fullname"
placeholder = "Name..">
<label for = "switch">Toggle Switch:</label>
<select name = "switch" id = "switch" data-role = "slider">
<option value = "on">On</option>
<option value = "off" selected>Off</option>
</select>
</div>
<div data-role = "footer">
<h1>Tutorials point</h1>
</div>
</div>
</body>
</html>
สิ่งนี้ควรให้ผลลัพธ์ดังต่อไปนี้ -
ตัวอย่างง่ายๆของ B ตามที่แสดงด้านล่าง -
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width, initial-scale = 1">
<link rel = "stylesheet"
href = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src = "https://code.jquery.com/jquery-1.11.3.min.js">
</script>
<script src = "https://code.jquery.com/jquery-1.11.3.min.js">
</script>
<script
src = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js">
</script>
</head>
<body>
<div data-role = "page" id = "pageone" data-theme = "b">
<div data-role = "header">
<h1>Tutorials Point</h1>
</div>
<div data-role = "main" class = "ui-content">
<p>Text link</p>
<a href = "#">A Standard Text Link</a>
<a href = "#" class = "ui-btn">Link Button</a>
<p>A List View:</p>
<ul data-role = "listview" data-autodividers = "true" data-inset = "true">
<li><a href = "#">Android </a></li>
<li><a href = "#">IOS</a></li>
</ul>
<label for = "fullname">Input Field:</label>
<input type = "text" name = "fullname" id = "fullname"
placeholder = "Name..">
<label for = "switch">Toggle Switch:</label>
<select name = "switch" id = "switch" data-role = "slider">
<option value = "on">On</option>
<option value = "off" selected>Off</option>
</select>
</div>
<div data-role = "footer">
<h1>Tutorials point</h1>
</div>
</div>
</body>
</html>
สิ่งนี้ควรให้ผลลัพธ์ดังต่อไปนี้ -
Jquery มียูทิลิตี้ที่ให้บริการในรูปแบบของ $ (name space) วิธีการเหล่านี้มีประโยชน์ในการทำงานเขียนโปรแกรมให้เสร็จสิ้นวิธียูทิลิตี้บางวิธีมีดังที่แสดงด้านล่าง
$ .trim ()
$ .trim () ใช้เพื่อลบช่องว่างที่นำหน้าและต่อท้าย
$.trim( " lots of extra whitespace " );
$ .each ()
$ .each () ใช้เพื่อทำซ้ำบนอาร์เรย์และวัตถุ
$.each([ "foo", "bar", "baz" ], function( idx, val ) {
console.log( "element " + idx + " is " + val );
});
$.each({ foo: "bar", baz: "bim" }, function( k, v ) {
console.log( k + " : " + v );
});
.each () สามารถเรียกได้จากการเลือกเพื่อวนซ้ำองค์ประกอบที่มีอยู่ในการเลือก ควรใช้ .each () ไม่ใช่ $ .each () สำหรับการวนซ้ำองค์ประกอบในส่วนที่เลือก
$ .inArray ()
$ .inArray () ใช้เพื่อส่งกลับดัชนีของค่าในอาร์เรย์หรือ -1 หากค่าไม่อยู่ในอาร์เรย์
var myArray = [ 1, 2, 3, 5 ];
if ( $.inArray( 4, myArray ) !== -1 ) {
console.log( "found it!" );
}
$ .extend ()
$ .extend () ใช้เพื่อเปลี่ยนคุณสมบัติของอ็อบเจ็กต์แรกโดยใช้คุณสมบัติของอ็อบเจ็กต์ที่ตามมา
var firstObject = { foo: "bar", a: "b" };
var secondObject = { foo: "baz" };
var newObject = $.extend( firstObject, secondObject );
console.log( firstObject.foo );
console.log( newObject.foo );
$ .proxy ()
$ .proxy () ใช้เพื่อส่งคืนฟังก์ชันที่จะทำงานในขอบเขตที่กำหนดไว้เสมอนั่นคือกำหนดความหมายของสิ่งนี้ภายในฟังก์ชันที่ผ่านไปเป็นอาร์กิวเมนต์ที่สอง
var myFunction = function() {
console.log( this );
};
var myObject = {
foo: "bar"
};
myFunction(); // window
var myProxyFunction = $.proxy( myFunction, myObject );
myProxyFunction();
$ .browser
$ .browser ใช้เพื่อให้ข้อมูลเกี่ยวกับเบราว์เซอร์
jQuery.each( jQuery.browser, function( i, val ) {
$( "<div>" + i + " : <span>" + val + "</span>" )
.appendTo( document.body );
});
$ .contains ()
$ .contains () ใช้เพื่อคืนค่า true หากองค์ประกอบ DOM ที่จัดเตรียมโดยอาร์กิวเมนต์ที่สองเป็นลูกหลานขององค์ประกอบ DOM ที่จัดเตรียมโดยอาร์กิวเมนต์แรกไม่ว่าจะเป็นลูกโดยตรงหรือซ้อนกันลึกกว่า
$.contains( document.documentElement, document.body ); $.contains( document.body, document.documentElement );
$ .data ()
$ .data () ใช้เพื่อให้ข้อมูลเกี่ยวกับข้อมูล
<html lang = "en">
<head>
<title>jQuery.data demo</title>
<script src = "https://code.jquery.com/jquery-1.10.2.js">
</script>
</head>
<body>
<div>
The values stored were <span></span>
and <span></span>
</div>
<script>
var div = $( "div" )[ 0 ]; jQuery.data( div, "test", { first: 25, last: "tutorials" }); $( "span:first" ).text( jQuery.data( div, "test" ).first );
$( "span:last" ).text( jQuery.data( div, "test" ).last );
</script>
</body>
</html>
ผลลัพธ์จะเป็นดังนี้
The values stored were 25 and tutorials
$ .fn.extend ()
$ .fn.extend () ใช้เพื่อขยาย jQuery ต้นแบบ
<html lang = "en">
<head>
<script src = "https://code.jquery.com/jquery-1.10.2.js">
</script>
</head>
<body>
<label><input type = "checkbox" name = "android">
Android</label>
<label><input type = "checkbox" name = "ios"> IOS</label>
<script>
jQuery.fn.extend({
check: function() {
return this.each(function() {
this.checked = true;
});
},
uncheck: function() {
return this.each(function() {
this.checked = false;
});
}
});
// Use the newly created .check() method
$( "input[type = 'checkbox']" ).check();
</script>
</body>
</html>
ให้ผลลัพธ์ตามที่แสดงด้านล่าง -
$ .isWindow ()
$ .isWindow () ใช้เพื่อจดจำหน้าต่าง
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery.isWindow demo</title>
<script src = "https://code.jquery.com/jquery-1.10.2.js">
</script>
</head>
<body>
Is 'window' a window? <b></b>
<script>
$( "b" ).append( "" + $.isWindow( window ) );
</script>
</body>
</html>
ให้ผลลัพธ์ตามที่แสดงด้านล่าง -
$ .now ()
ส่งคืนตัวเลขที่แสดงเวลาปัจจุบัน
(new Date).getTime()
$ .isXMLDoc ()
$ .isXMLDoc () ตรวจสอบว่าไฟล์เป็น xml หรือไม่
jQuery.isXMLDoc( document )
jQuery.isXMLDoc( document.body )
$ .globalEval ()
$ .globalEval () ใช้เพื่อเรียกใช้งานจาวาสคริปต์ทั่วโลก
function test() {
jQuery.globalEval( "var newVar = true;" )
}
test();
$ .dequeue ()
$ .dequeue () ใช้เพื่อเรียกใช้ฟังก์ชันถัดไปในคิว
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery.dequeue demo</title>
<style>
div {
margin: 3px;
width: 50px;
position: absolute;
height: 50px;
left: 10px;
top: 30px;
background-color: green;
border-radius: 50px;
}
div.red {
background-color: blue;
}
</style>
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<button>Start</button>
<div></div>
<script>
$( "button" ).click(function() {
$( "div" ) .animate({ left: '+ = 400px' }, 2000 ) .animate({ top: '0px' }, 600 ) .queue(function() { $( this ).toggleClass( "red" );
$.dequeue( this );
})
.animate({ left:'10px', top:'30px' }, 700 );
});
</script>
</body>
</html>
ให้ผลลัพธ์ตามที่แสดงด้านล่าง -