1. Is jQuery a framework or a library? Discuss.
A framework is something that usually forces a certain way of implementing a solution, whereas jQuery is just a tool to make implementing what you want to do easier. jQuery: The Write Less, Do More, JavaScript Library. For sure, it's a javascript library. ... And jQuery is just a single library.
jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.
2. Explain the features provided by jQuery?
3. Discuss the advantages and disadvantages of using jQuery in different project scales.
Advantages
1.JavaScript enhancement without the overhead of learning new syntax
2. Ability to keep the code simple, clear, readable and reusable
3. Eradication of the requirement of writing repetitious and complex loops and DOM scripting library calls
4. Ease of use- it is more easy to use than the standard javascript and other libraries.
5. Large library – It has a lot of functions compared to javascript.
6. Strong opensource community – there are a lot of plugins available for the faster development of the applications.
7. Great documentation and tutorials – the jQuery website has plenty of tutorials that are required for the beginners.
8. Ajax support – They let you develop the templates easily.
Disadvantages
The most serious disadvantage of jQuery is that it is overweight kb wise. jQuery is a single JavaScript file “jquery.js” which contains all its DOM, events, effects, and Ajax components. The file over time and development has gained a substantial amount of kb.
4. Explain how the jQuery handles the issues related to partial page loads to the browser.
A jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria. Simply you can say,selectors are used to select one or more HTML elements using jQuery.
6. Compare and contrast the use of CSS advanced selectors in jQuery and jQuery’s DOM traversal API, indicating the pros and cons of them.
7. Explain the importance of DOM objects and DOM processing in jQuery.
The functions associated with these objects determine how the objects may be manipulated, and they are part of the object model. The Document Object Model currently consists of two parts, DOM Core and DOM HTML. The DOM Core represents the functionality used for XML documents, and also serves as the basis for DOM HTML.
8. Discuss the benefits of using jQuery event handling over HTML event attributes, providing a list of events supported by jQuery.
What is $( document .ready function () in jquery?
Definition and Usage. The ready event occurs when the DOM (document object model) has been loaded. Because this event occurs after the document is ready, it is a good place to have all other jQuery events and functions. Like in the example above. The ready() method specifies what happens when a ready event occurs.
10. Identify a list of advanced features provided by jQuery and explain their use towards improving the user experience.
1) Use the Latest Version of jQuery
A framework is something that usually forces a certain way of implementing a solution, whereas jQuery is just a tool to make implementing what you want to do easier. jQuery: The Write Less, Do More, JavaScript Library. For sure, it's a javascript library. ... And jQuery is just a single library.
jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.
2. Explain the features provided by jQuery?
- HTML/DOM manipulation
- CSS manipulation
- HTML event methods
- Effects and animations
- AJAX
- Utilities
3. Discuss the advantages and disadvantages of using jQuery in different project scales.
Advantages
1.JavaScript enhancement without the overhead of learning new syntax
2. Ability to keep the code simple, clear, readable and reusable
3. Eradication of the requirement of writing repetitious and complex loops and DOM scripting library calls
4. Ease of use- it is more easy to use than the standard javascript and other libraries.
5. Large library – It has a lot of functions compared to javascript.
6. Strong opensource community – there are a lot of plugins available for the faster development of the applications.
7. Great documentation and tutorials – the jQuery website has plenty of tutorials that are required for the beginners.
8. Ajax support – They let you develop the templates easily.
Disadvantages
The most serious disadvantage of jQuery is that it is overweight kb wise. jQuery is a single JavaScript file “jquery.js” which contains all its DOM, events, effects, and Ajax components. The file over time and development has gained a substantial amount of kb.
4. Explain how the jQuery handles the issues related to partial page loads to the browser.
- In Microsoft Visual Studio 2008, create a new ASP.NET Web Site project by going to File-> New-> Web Siteand selecting ASP.NET Web Site from the dialog. You can name it whatever you like, and you may install it either to the file system or into Internet Information Services (IIS).
- You will be presented with the blank default page with basic ASP.NET markup (a server-side form and an
@Page
directive). Drop a Label calledLabel1
and a Button calledButton1
onto the page within the form element. You may set their text properties to whatever you like. - In Design view, double-click
Button1
to generate a code-behind event handler. Within this event handler, setLabel1.Text
to You clicked the button! .
A jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria. Simply you can say,selectors are used to select one or more HTML elements using jQuery.
6. Compare and contrast the use of CSS advanced selectors in jQuery and jQuery’s DOM traversal API, indicating the pros and cons of them.
If you’re reading this, I’m assuming you know what a CSS selector is. This can be an id, a class, or an attribute. Say you want to show a BootStrap alert when a button gets clicked. Your HTML looks something like:
<div id=“msg-id” class=“alert alert-success”> Hey, there! I’m a Bootstrap Alert </div>
<button id=“show-msg-id” class=“btn btn-primary”> Show Message </button>
Easy enough, right? We have a simple div with the id of
msg-id
, and we have a button with the id of show-msg-id
. For the sake of brevity, assume that our CSS file has a line like #msg-id { display: none; }
. This ensures that our message isn’t just hanging out and being visible when we don’t want it to be. Now, to make this work how we want it to, let’s write up some jQuery.$(“#show-msg-id”).bind(‘click’, function(e) { setTimeout(function(){ $(“#msg-id”).fadeIn(600, function(){ setTimeout(function(){ $("#msg-id").fadeOut(600); }, 3500); }); },500);
e.preventDefault(); }
7. Explain the importance of DOM objects and DOM processing in jQuery.
The functions associated with these objects determine how the objects may be manipulated, and they are part of the object model. The Document Object Model currently consists of two parts, DOM Core and DOM HTML. The DOM Core represents the functionality used for XML documents, and also serves as the basis for DOM HTML.
8. Discuss the benefits of using jQuery event handling over HTML event attributes, providing a list of events supported by jQuery.
All the different visitors' actions that a web page can respond to are called events.
An event represents the precise moment when something happens.
- moving a mouse over an element
- selecting a radio button
- clicking on an element
Mouse Events | Keyboard Events | Form Events | Document/Window Events |
---|---|---|---|
click | keypress | submit | load |
dblclick | keydown | change | resize |
mouseenter | keyup | focus | scroll |
mouseleave | blur | unload |
To assign a click event to all paragraphs on a page, you can do this:
click
The next step is to define what should happen when the event fires. You must pass a function to the event:
$("p").click(function(){
// action goes here!!});
9. Explain how to declare jQuery event handlers outside the $(document).ready() function,
indicating the need for that, and the related issues and solutions for them. What is $( document .ready function () in jquery?
Definition and Usage. The ready event occurs when the DOM (document object model) has been loaded. Because this event occurs after the document is ready, it is a good place to have all other jQuery events and functions. Like in the example above. The ready() method specifies what happens when a ready event occurs.
10. Identify a list of advanced features provided by jQuery and explain their use towards improving the user experience.
1) Use the Latest Version of jQuery
With all the innovation taking place in the jQuery project, one of the easiest ways to improve the performance of your web site is to simply use the latest version of jQuery. Every release of the library introduces optimizations and bug fixes, and most of the time upgrading involves only changing a script tag.
You can even include jQuery directly from Google's servers, which provide free CDN hosting for a number of JavaScript libraries.
<!-- Include a specific version of jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<!-- Include the latest version in the 1.6 branch -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
The latter example will include the latest 1.6.x version automatically as it becomes available, but as pointed out on css-tricks, it is cached only for an hour, so you better not use it in production environments.
2) Keep Selectors Simple
Up until recently, retrieving DOM elements with jQuery was a finely choreographed combination of parsing selector strings, JavaScript loops and inbuilt APIs like
getElementById()
, getElementsByTagName()
and getElementsByClassName()
. But now, all major browsers support querySelectorAll()
, which understands CSS query selectors and brings a significant performance gain.
However, you should still try to optimize the way you retrieve elements. Not to mention that a lot of users still use older browsers that force jQuery into traversing the DOM tree, which is slow.
$('li[data-selected="true"] a') // Fancy, but slow
$('li.selected a') // Better
$('#elem') // Best
3) jQuery Objects as Arrays
The result of running a selector is a jQuery object. However, the library makes it appear as if you are working with an array by defining index elements and a length.
// Selecting all the navigation buttons:
var buttons = $('#navigation a.button');
// We can loop though the collection:
for(var i=0;i<buttons.length;i++){
console.log(buttons[i]); // A DOM element, not a jQuery object
}
// We can even slice it:
var firstFour = buttons.slice(0,4);
If performance is what you are after, using a simple for
(or a while
) loop instead of $.each()
, can make your code several times faster.
4) The Selector Property
jQuery provides a property which contains the selector that was used to start the chain.
$('#container li:first-child').selector // #container li:first-child
$('#container li').filter(':first-child').selector // #container li.filter(:first-child)
Although the examples above target the same element, the selectors are quite different. The second one is actually invalid - you can't use it as the basis of a new jQuery object. It only shows that the filter method was used to narrow down the collection.
5) Create an Empty jQuery Object
Creating a new jQuery object can bring significant overhead. Sometimes, you might need to create an empty object, and fill it in with the add() method later.
var container = $([]);
container.add(another_element);
This is also the basis for the quickEach() method that you can use as a faster alternative to the default each()
.
6) Select a Random Element
As I mentioned above, jQuery adds its own selection filters. As with everything else in the library, you can also create your own. To do this simply add a new function to the $.expr[':']
object. One awesome use case was presented by Waldek Mastykarz on his blog: creating a selector for retrieving a random element. You can see a slightly modified version of his code below:
(function($){
var random = 0;
$.expr[':'].random = function(a, i, m, r) {
if (i == 0) {
random = Math.floor(Math.random() * r.length);
}
return i == random;
};
})(jQuery);
// This is how you use it:
$('li:random').addClass('glow');
No comments:
Post a Comment