Q1. How JavaScript
and jQuery are different?
Ans:
JavaScript is a language While jQuery is a library built in the JavaScript
language that helps to use the JavaScript language.
Q2. Is jQuery
replacement of Java Script?
Ans: No. jQuery is not a
replacement of JavaScript. jQuery is a different library which is written on
top of JavaScript. jQuery is a lightweight JavaScript library that emphasizes
interaction between JavaScript and HTML.
Q3. Is jQuery a
library for client scripting or server scripting?
Ans.
Client side scripting.
Q4. Is jQuery a W3C
standard?
Ans:
No. jQuery is not a W3C standard.
Q5. What is the
basic need to start with jQuery?
Ans:
To start with jQuery, one need to make reference of it's library. The latest
version of jQuery can be downloaded from jQuery.com.
Q6. Which is the
starting point of code execution in jQuery?
Ans:
The starting point of jQuery code execution is $(document).ready() function
which is executed when DOM is loaded.
Q7. What does
dollar sign ($) means in jQuery?
Ans:
Dollar Sign is nothing but it's an alias for JQuery. Take a look at below
jQuery code.
$(document).ready(function(){
});
Over
here $ sign can be replaced with "jQuery" keyword.
jQuery(document).ready(function(){
});
Q8. Can we have
multiple document.ready() function on the same page?
Ans: YES. We can have any
number of document.ready() function on the same page.
Q9. Can we use our
own specific character in the place of $ sign in jQuery?
Ans: Yes. It is possible using
jQuery.noConflict().
Q10. Is it possible
to use other client side libraries like MooTools, Prototype along with jQuery?
Ans: Yes.
Q11. What is
jQuery.noConflict?
Ans:
As other client side libraries like MooTools, Prototype can be used with jQuery
and they also use $() as their global function and to define variables. This
situation creates conflict as $() is used by jQuery and other library as their global
function. To overcome from such situations, jQuery has introduced jQuery.noConflict().
jQuery.noConflict();
// Use jQuery via
jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});
You
can also use your own specific character in the place of $ sign in jQuery.
var $j = jQuery.noConflict();
// Use jQuery via jQuery(...)
$j(document).ready(function(){
$j("div").hide();
});
Q12. Is there any
difference between body onload() and document.ready() function?
Ans: document.ready() function is different from body onload() function for 2 reasons.
1.
We can have more than one document.ready() function in a page where we can have only one body onloadfunction.
2.
document.ready() function is called as soon as DOM is loaded where body.onload() function is called when everything gets loaded on the page that includes
DOM, images and all associated resources of the page.
Q13. What is the
difference between .js and .min.js?
Ans:
jQuery library comes in 2 different versions Production and Deployment. The
deployment version is also known as minified version. So .min.js is basically
the minified version of jQuery library file. Both the files are same as far as
functionality is concerned. but .min.js is quite small in size so it loads
quickly and saves bandwidth.
Q14. Why there are
two different version of jQuery library?
Ans:
jQuery library comes in 2 different versions.
1.
Production
2.
Deployment
The
production version is quite useful at development time as jQuery is open source
and if you want to change something then you can make those changes in
production version. But the deployment version is minified version or
compressed version so it is impossible to make changes in it. Because it is
compressed, so its size is very less than the production version which affects
the page load time.
Q15. What is a CDN?
Ans:
A content delivery network or content distribution network (CDN) is a large
distributed system of servers deployed in multiple data centers across the
Internet. The goal of a CDN is to serve content to end-users with high
availability and high performance.
Q16. Which are the
popular jQuery CDN? and what is the advantage of using CDN?
Ans:
There are 3 popular jQuery CDNs.
1.
1. Google.
2.
2. Microsoft
3.
3. jQuery.
Advantage
of using CDN.
·
It reduces the load from your server.
·
It saves bandwidth. jQuery framework
will load faster from these CDN.
·
The most important benefit is it will
be cached, if the user has visited any site which is using jQuery framework
from any of these CDN.
Q17. What are
selectors in jQuery and how many types of selectors are there?
Ans:
To work with an element on the web page, first we need to find them. To find
the html element in jQuery we use selectors. There are many types of selectors
but basic selectors are:
·
Name: Selects all elements which
match with the given element Name.
·
#ID: Selects a single element which
matches with the given ID
·
.Class: Selects all elements which
match with the given Class.
·
Universal (*): Selects all elements
available in a DOM.
·
Multiple Elements E, F, G: Selects
the combined results of all the specified selectors E, F or G.
·
Attribute Selector: Select elements
based on its attribute value.
Q18. How do you
select element by ID in jQuery?
Ans:
To select element use ID selector. We need to prefix the id with "#"
(hash symbol). For example, to select element with ID "txtName", then
syntax would be,
$('#txtName')
Q19. What does $("div")
will select?
Ans:
This will select all the div elements on page.
Q20. How to select
element having a particular class (".selected")?
Ans: $('.selected'). This selector is known as class selector. We need
to prefix the class name with "." (dot).
Q21. What does
$("div.parent") will select?
Ans:
All the div element with parent class.
Q22. What are the
fastest selectors in jQuery?
Ans:
ID and element selectors are the fastest selectors in jQuery.
Q23. What are the
slow selectors in jQuery?
Ans:
class selectors are the slow compare to ID and element.
Q24. How jQuery
selectors are executed?
Ans:
Your last selectors is always executed first. For example, in below jQuery
code, jQuery will first find all the elements with class ".myCssClass"
and after that it will reject all the other elements which are not in
"p#elmID".
$("p#elmID .myCssClass");
Q25. Which is fast document.getElementByID('txtName')
or $('#txtName').?
Ans:
Native JavaScipt is always fast. jQuery method to select txtName "$('#txtName')"
will internally makes a call todocument.getElementByID('txtName').
As jQuery is written on top of JavaScript and it internally uses JavaScript
only So JavaScript is always fast.
Q26. Difference
between $(this) and 'this' in jQuery?
Ans:
this and $(this) refers to the same element. The only difference is
the way they are used. 'this' is used in traditional sense, when 'this' is
wrapped in $() then it becomes a jQuery object and you are able to
use the power of jQuery.
$(document).ready(function(){
$('#spnValue').mouseover(function(){
alert($(this).text());
});
});
In
below example, this is an object but since it is not wrapped in $(), we can't use jQuery method and use the native
JavaScript to get the value of span element.
$(document).ready(function(){
$('#spnValue').mouseover(function(){
alert(this.innerText);
});
});
Q27. What is the
difference between $('div') and $('<div/>') in jQuery?
Ans:
$('<div/>') : This creates a new div element. However this is not added
to DOM tree unless you don't append it to any DOM element.
$('div') : This selects all the div element present on the page.
$('div') : This selects all the div element present on the page.
Q28. What is the
difference between eq() and get() methods in jQuery?
Ans: eq() returns the element as a jQuery object. This method
constructs a new jQuery object from one element within that set and returns it.
That means that you can use jQuery functions on it.
get() return a DOM element. The method retrieve the DOM elements matched by the jQuery object. But as it is a DOM element and it is not a jQuery-wrapped object. So jQuery functions can't be used.
get() return a DOM element. The method retrieve the DOM elements matched by the jQuery object. But as it is a DOM element and it is not a jQuery-wrapped object. So jQuery functions can't be used.
Q29. How do you
implement animation functionality?
Ans:
The .animate() method allows us to create animation effects on any numeric CSS
property. This method changes an element from one state to another with CSS
styles. The CSS property value is changed gradually, to create an animated
effect.
Syntax is:
Syntax is:
(selector).animate({styles},speed,easing,callback)
·
styles: Specifies one or more CSS
properties/values to animate.
·
duration: Optional. Specifies the
speed of the animation.
·
easing: Optional. Specifies the speed
of the element in different points of the animation. Default value is
"swing".
·
callback: Optional. A function to be
executed after the animation completes.
Simple
use of animate function is,
$("btnClick").click(function(){
$("#dvBox").animate({height:"100px"});
});
Q30. How do you
stop the currently-running animation?
Ans:
Using jQuery ".stop()" method.
Q31. What is the
difference between .empty(), .remove() and .detach() methods in jQuery?
Ans:
All these methods .empty(), .remove() and .detach() are used for removing elements from DOM but they
all are different.
.empty(): This method removes all the child element of the matched element where remove() method removes set of matched elements from DOM.
.remove(): Use .remove() when you want to remove the element itself, as well as everything inside it. In addition to the elements themselves, all bound events and jQuery data associated with the elements are removed.
.detach(): This method is the same as .remove(), except that .detach() keeps all jQuery data associated with the removed elements. This method is useful when removed elements are to be reinserted into the DOM at a later time.
.empty(): This method removes all the child element of the matched element where remove() method removes set of matched elements from DOM.
.remove(): Use .remove() when you want to remove the element itself, as well as everything inside it. In addition to the elements themselves, all bound events and jQuery data associated with the elements are removed.
.detach(): This method is the same as .remove(), except that .detach() keeps all jQuery data associated with the removed elements. This method is useful when removed elements are to be reinserted into the DOM at a later time.
Q32. Explain
.bind() vs .live() vs .delegate() vs .on()
Ans:
All these 4 jQuery methods are used for attaching events to selectors or
elements. But they all are different from each other.
.bind(): This is the easiest and quick method to bind events. But the issue with bind() is that it doesn't work for elements added dynamically that matches the same selector. bind() only attach events to the current elements not future element. Above that it also has performance issues when dealing with a large selection.
.live(): This method overcomes the disadvantage of bind(). It works for dynamically added elements or future elements. Because of its poor performance on large pages, this method is deprecated as of jQuery 1.7 and you should stop using it. Chaining is not properly supported using this method.
.delegate(): The .delegate() method behaves in a similar fashion to the .live() method, but instead of attaching the selector/event information to the document, you can choose where it is anchored and it also supports chaining.
.on(): Since live was deprecated with 1.7, so new method was introduced named ".on()". This method provides all the goodness of previous 3 methods and it brings uniformity for attaching event handlers.
.bind(): This is the easiest and quick method to bind events. But the issue with bind() is that it doesn't work for elements added dynamically that matches the same selector. bind() only attach events to the current elements not future element. Above that it also has performance issues when dealing with a large selection.
.live(): This method overcomes the disadvantage of bind(). It works for dynamically added elements or future elements. Because of its poor performance on large pages, this method is deprecated as of jQuery 1.7 and you should stop using it. Chaining is not properly supported using this method.
.delegate(): The .delegate() method behaves in a similar fashion to the .live() method, but instead of attaching the selector/event information to the document, you can choose where it is anchored and it also supports chaining.
.on(): Since live was deprecated with 1.7, so new method was introduced named ".on()". This method provides all the goodness of previous 3 methods and it brings uniformity for attaching event handlers.
No comments:
Post a Comment