Hello friends,
People often say “Love programmers because they are so loyal” , but that is only in love life!
For me, a programmer must have a reputation for being a “bad guy” in his own work. We can’t just love a way of code, a framework, a library, a design pattern … and we just want to attach ourselves to them everywhere. Sometimes, we even need a cool head to continually change the way we do our work in order to achieve “fullness” and bring everything “to the top” in a subtle, informative way. the most intelligent …
Returning to the title of the article, I believe Jquery is still a good and useful library in practice. However, with the rapid development of modern browsers gradually strongly supporting ES6, along with the extremely fast development of Javascript, Jquery gradually revealed many of its own weaknesses: leaving With the React – Vue – Angular frameworks, lagging behind the development speed of Javascript, wasting additional installation in projects, many errors, … I bet there will be a lot of friends who agree with me. In this case, you can do a trial search on Stackoverflow, the results we get for Jquery-related problems are over 1 million .
Have I moved your hearts to leave Jquery and go to pure Javascript? If you are still hesitant to “break up” with Jquery, and “flirt” with the Javascipt girl quickly – the real Fuckboi – then let me take a look at the situations below.
1. Selection of ingredients
This is probably the most basic and important job in Jquery when we need to manipulate the DOM. Equivalent to $()
or jQuery()
are two functions querySelector()
and querySelectorAll()
. We can easily code the following:
1 2 3 4 5 6 7 8 9 | <span class="token comment">// jQuery, chọn toàn bộ dối tượng '.box'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Thay vào đó, chọn đối tượng '.box' đầu tiên</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// ... hoặc chọn toàn bộ đối tượng '.box'</span> document <span class="token punctuation">.</span> <span class="token function">querySelectorAll</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
2. Perform the function on all selected ingredients
querySelectorAll()
returns us an array of NodeList s . Unlike jQuery, we simply call the function over the jQuery object, with Javascript we will need to traverse the entire NodeList array retrieved with NodeList.foreach () . No problem, “flirting” sometimes difficult
1 2 3 4 5 6 7 8 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Ẩn toàn bộ đối tượng '.box'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">hide</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Duyệt qua từng thằng '.box' và gán thuộc tính cho nó để ẩn nó đi</span> document <span class="token punctuation">.</span> <span class="token function">querySelectorAll</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">forEach</span> <span class="token punctuation">(</span> <span class="token parameter">box</span> <span class="token operator">=></span> <span class="token punctuation">{</span> box <span class="token punctuation">.</span> style <span class="token punctuation">.</span> display <span class="token operator">=</span> <span class="token string">"none"</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> |
3. Find an ingredient within another
jQuery provides us with the find()
function so we can search for something inside another guy. Personally, in this situation, I prefer Javascript, because simply we still use the querySelector()
and querySelectorAll()
to get the component we want.
1 2 3 4 5 6 7 8 9 10 11 12 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Lấy ra thằng '.box' đầu tiên trong '.container'</span> <span class="token keyword">var</span> container <span class="token operator">=</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".container"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// ...ta sẽ cần làm như này tiếp</span> container <span class="token punctuation">.</span> <span class="token function">find</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Lấy ra thằng '.box' đầu tiên trong '.container'</span> <span class="token keyword">var</span> container <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".container"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// ...ta cũng sẽ cần làm như này tiếp</span> container <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
4. Navigate the DOM tree for some common scenarios
There will be times when you need to quickly browse the previous, next, or parent of an existing element. jQuery has familiar functions parent()
, next()
and prev()
. Not less edge, Javascript also gives us directly 3 properties of a component, that is parentElement
, nextElementSibling
and previousElementSibling
. Geez, what do you think
1 2 3 4 5 6 7 8 9 10 11 12 13 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Trả về thành phần kế tiếp, trước đó và cha của '.box'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">next</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">prev</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">parent</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Trả về thành phần kế tiếp, trước đó và cha của '.box'</span> <span class="token keyword">var</span> box <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> nextElementSibling <span class="token punctuation">;</span> box <span class="token punctuation">.</span> previousElementSibling <span class="token punctuation">;</span> box <span class="token punctuation">.</span> parentElement <span class="token punctuation">;</span> |
5. Work with events
jQuery has dozens of functions to attach a specific event to our element. As for JS, let’s see the power of the addEventListener()
function:
1 2 3 4 5 6 7 8 9 10 | <span class="token comment">// Với jQuery</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">click</span> <span class="token punctuation">(</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> <span class="token parameter">e</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">/* xử lý sự kiện 'click' */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">mouseenter</span> <span class="token punctuation">(</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> <span class="token parameter">e</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">/* xử lý sự kiện 'mouseenter' */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> document <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">keyup</span> <span class="token punctuation">(</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> <span class="token parameter">e</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">/* xử lý sự kiện 'keyup' */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">addEventListener</span> <span class="token punctuation">(</span> <span class="token string">"click"</span> <span class="token punctuation">,</span> <span class="token punctuation">(</span> <span class="token parameter">e</span> <span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token comment">/* ... */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">addEventListener</span> <span class="token punctuation">(</span> <span class="token string">"mouseenter"</span> <span class="token punctuation">,</span> <span class="token punctuation">(</span> <span class="token parameter">e</span> <span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token comment">/* ... */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> document <span class="token punctuation">.</span> <span class="token function">addEventListener</span> <span class="token punctuation">(</span> <span class="token string">"keyup"</span> <span class="token punctuation">,</span> <span class="token punctuation">(</span> <span class="token parameter">e</span> <span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token comment">/* ... */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
6. Add the event to listen to
The on()
function in jQuery is how we add dynamic events to our element, once in this situation we will encounter the familiar addEventListener()
function of the “girl” Javascript.
1 2 3 4 5 6 7 8 9 10 11 12 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Xử lý sự kiện 'click' của '.search-result elements', </span> <span class="token comment">// ngay cả khi chúng được thêm động vào cây DOM</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".search-container"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">on</span> <span class="token punctuation">(</span> <span class="token string">"click"</span> <span class="token punctuation">,</span> <span class="token string">".search-result"</span> <span class="token punctuation">,</span> handleClick <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Tạo một thành phần mới và thêm vào cây DOM</span> <span class="token keyword">var</span> searchElement <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">createElement</span> <span class="token punctuation">(</span> <span class="token string">"div"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".search-container"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">appendChild</span> <span class="token punctuation">(</span> searchElement <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Thêm sự kiện vào trong thành phần mới đó</span> searchElement <span class="token punctuation">.</span> <span class="token function">addEventListener</span> <span class="token punctuation">(</span> <span class="token string">"click"</span> <span class="token punctuation">,</span> handleClick <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
7. Activate or launch the event
Equivalent to jQuery’s trigger
function and JS-side dispatchEvent()
function, this function can be called at any component and will take input as an Event
object. This is a bit “stretch” ah
1 2 3 4 5 6 7 8 9 10 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Khởi chạy 'myEvent' cho đối tượng document và '.box'</span> <span class="token function">$</span> <span class="token punctuation">(</span> document <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">trigger</span> <span class="token punctuation">(</span> <span class="token string">"myEvent"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">trigger</span> <span class="token punctuation">(</span> <span class="token string">"myEvent"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Tạo và kích hoạt sự kiện 'myEvent'</span> document <span class="token punctuation">.</span> <span class="token function">dispatchEvent</span> <span class="token punctuation">(</span> <span class="token keyword">new</span> <span class="token class-name">Event</span> <span class="token punctuation">(</span> <span class="token string">"myEvent"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">dispatchEvent</span> <span class="token punctuation">(</span> <span class="token keyword">new</span> <span class="token class-name">Event</span> <span class="token punctuation">(</span> <span class="token string">"myEvent"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
8. Styling for ingredients
I’ve tried searching for the word “styling” in Vietnamese and it’s really banana …
To style the element, similar to the css
function in jQuery is the .style
attribute in JS
1 2 3 4 5 6 7 8 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Chọn tất cả '.box' và chuyển màu chữ sang #000</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">css</span> <span class="token punctuation">(</span> <span class="token string">"color"</span> <span class="token punctuation">,</span> <span class="token string">"#000"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Chọn '.box' đầu tiên và chuyển màu chữ sang #000</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> style <span class="token punctuation">.</span> color <span class="token operator">=</span> <span class="token string">"#000"</span> <span class="token punctuation">;</span> |
In addition, for the css()
function we can pass an object containing the attributes that need style. Whereas to style multiple properties in Javascript, we need to change each of the remaining .style
in that element.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Truyền nhiều styles</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">css</span> <span class="token punctuation">(</span> <span class="token punctuation">{</span> <span class="token string">"color"</span> <span class="token operator">:</span> <span class="token string">"#000"</span> <span class="token punctuation">,</span> <span class="token string">"background-color"</span> <span class="token operator">:</span> <span class="token string">"red"</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// với Javascript</span> <span class="token comment">// Đổi màu chữ sang #000 và màu nền thành đỏ</span> <span class="token keyword">var</span> box <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> style <span class="token punctuation">.</span> color <span class="token operator">=</span> <span class="token string">"#000"</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> style <span class="token punctuation">.</span> backgroundColor <span class="token operator">=</span> <span class="token string">"red"</span> <span class="token punctuation">;</span> <span class="token comment">// Hoặc ta cũng có thể style nhiều thuộc tính bằng cách sau</span> box <span class="token punctuation">.</span> style <span class="token punctuation">.</span> cssText <span class="token operator">=</span> <span class="token string">"color: #000; background-color: red"</span> <span class="token punctuation">;</span> |
9. Document ready event
There are many times when we need to execute an event when the entire page / DOM has finished loading, for jQuery we simply use the $(document).ready()
or we can be more concise with the $()
. As for Javascript, it takes a bit of effort to write a function that does this, but it’s okay, it’s just a little more difficult to “flirt”, right?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <span class="token comment">// Với jQuery</span> <span class="token function">$</span> <span class="token punctuation">(</span> document <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">ready</span> <span class="token punctuation">(</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">/* Làm gì đó khi DOM đã được tải hết */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Định nghĩa một phương thức tiện ích để thực hiện</span> <span class="token keyword">var</span> <span class="token function-variable function">ready</span> <span class="token operator">=</span> <span class="token punctuation">(</span> <span class="token parameter">callback</span> <span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> document <span class="token punctuation">.</span> readyState <span class="token operator">!=</span> <span class="token string">"loading"</span> <span class="token punctuation">)</span> <span class="token function">callback</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token keyword">else</span> document <span class="token punctuation">.</span> <span class="token function">addEventListener</span> <span class="token punctuation">(</span> <span class="token string">"DOMContentLoaded"</span> <span class="token punctuation">,</span> callback <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token function">ready</span> <span class="token punctuation">(</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token comment">/* Làm gì đó khi DOM đã được tải hết */</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
10. Work with CSS Classes
To manipulate CSS Classes in Javascript, we will need to pass the classList
property of the component
1 2 3 4 5 6 7 8 9 10 11 12 13 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Thêm, xóa, hoặc bật tắt class 'focus' cho thành phần '.box'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">addClass</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">removeClass</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">toggleClass</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Thêm, xóa, hoặc bật tắt class 'focus' cho thành phần '.box'</span> <span class="token keyword">var</span> box <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">add</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">remove</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">toggle</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
We can also do this with a bunch of classes like this
1 2 3 4 5 | <span class="token comment">// Thêm class "focus" và "highlighted", rồi xóa chúng đi</span> <span class="token keyword">var</span> box <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">add</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">,</span> <span class="token string">"highlighted"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> box <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">remove</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">,</span> <span class="token string">"highlighted"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Or even change the class, Javascript really doesn’t lack anything!
1 2 3 | // Xóa class "focus" và thay bằng class "blurred" document.querySelector(".box").classList.replace("focus", "blurred"); |
11. Check whether the component has a class or not?
Well, as far as I can see, jQuery is indeed more concise than JS, no matter how many people like it. But if we lose this amount, we can get a lot more.
jQuery has a built-in hasClass()
function, while with Javascript, we will need a little more work:
1 2 3 4 5 6 7 8 9 10 11 12 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Kiểm tra nếu thành phần '.box' có chứa class 'focus'</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">hasClass</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// Làm gì đóoooooo...</span> <span class="token punctuation">}</span> <span class="token comment">// Without jQuery</span> <span class="token comment">// Kiểm tra nếu thành phần '.box' có chứa class 'focus'</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".box"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">contains</span> <span class="token punctuation">(</span> <span class="token string">"focus"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// Cũng làm gì đóoooooo...</span> <span class="token punctuation">}</span> |
12. Call HTTP Requests
This is definitely a very important function in any Front-end project. You may be familiar with jQuery AJAX, but don’t worry, with Javascript we have a very powerful and easy-to-use Fetch API . Fetch will give us a Promise so we can quickly process the results. Don’t worry guys, my comrades …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <span class="token comment">// Với jQuery</span> $ <span class="token punctuation">.</span> <span class="token function">ajax</span> <span class="token punctuation">(</span> <span class="token punctuation">{</span> url <span class="token operator">:</span> <span class="token string">"data.json"</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">done</span> <span class="token punctuation">(</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> <span class="token parameter">data</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// ...</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">fail</span> <span class="token punctuation">(</span> <span class="token keyword">function</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// Xử lý lỗi</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Với Javascript</span> <span class="token function">fetch</span> <span class="token punctuation">(</span> <span class="token string">"data.json"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">then</span> <span class="token punctuation">(</span> <span class="token parameter">data</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token comment">// Xử lý dữ liệu</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">catch</span> <span class="token punctuation">(</span> <span class="token parameter">error</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token comment">// Xử lý lỗi</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
13. Update DOM
The simplest thing is to change the text inside the element, but be careful when doing this, because Hackers can take advantage of it to perform that XSS attack. But rest assured, if you want to solve this problem, please try to read more here !
We can easily update content in the DOM with the JS girl using the .textContent
property.
1 2 3 4 5 6 7 8 9 10 11 12 | <span class="token comment">// Với jQuery</span> <span class="token comment">// Cập nhật nội dung văn bản bên trong '.button'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">text</span> <span class="token punctuation">(</span> <span class="token string">"New text"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Đọc nội dung văn bản trong '.button'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">text</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Trả về "New text"</span> <span class="token comment">// Với Javascript</span> <span class="token comment">// Cập nhật nội dung văn bản bên trong '.button'</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> textContent <span class="token operator">=</span> <span class="token string">"New text"</span> <span class="token punctuation">;</span> <span class="token comment">// Đọc nội dung văn bản trong '.button'</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".button"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> textContent <span class="token punctuation">;</span> <span class="token comment">// Trả về "New text"</span> |
More advanced, it is the change of ingredients inside existing components. We will do the following:
1 2 3 4 5 6 7 | <span class="token comment">// Tạo thành phần 'div' và thêm nó vào trong '.container'</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">".container"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">append</span> <span class="token punctuation">(</span> <span class="token function">$</span> <span class="token punctuation">(</span> <span class="token string">"<div/>"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Tạo thành phần 'div' và thêm nó vào trong '.container'</span> <span class="token keyword">var</span> element <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">createElement</span> <span class="token punctuation">(</span> <span class="token string">"div"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".container"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">appendChild</span> <span class="token punctuation">(</span> element <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Combined, we will have an example “full topping” as follows:
1 2 3 4 5 6 7 8 9 10 11 12 | <span class="token comment">// Tạo thẻ 'div'</span> <span class="token keyword">var</span> element <span class="token operator">=</span> document <span class="token punctuation">.</span> <span class="token function">createElement</span> <span class="token punctuation">(</span> <span class="token string">"div"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Cập nhật class cho nó</span> element <span class="token punctuation">.</span> classList <span class="token punctuation">.</span> <span class="token function">add</span> <span class="token punctuation">(</span> <span class="token string">"box"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// Đặt nội dung văn bản bên trong</span> element <span class="token punctuation">.</span> textContent <span class="token operator">=</span> <span class="token string">"Text inside box"</span> <span class="token punctuation">;</span> <span class="token comment">// Thêm nó vào trong '.container'</span> document <span class="token punctuation">.</span> <span class="token function">querySelector</span> <span class="token punctuation">(</span> <span class="token string">".container"</span> <span class="token punctuation">)</span> <span class="token punctuation">.</span> <span class="token function">appendChild</span> <span class="token punctuation">(</span> element <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Still, goodbye, but goodbye
So I showed you 13 tips for “flirting with her” Javascript … Now I’ll give you time to think about whether you dare to strongly say “break up” with jQuery!
I hope I brought you good knowledge, thank you for reading to the last line of this article, I really appreciate everyone’s love for me. Goodbye everyone and see you in the following posts! Peaceeeee …