Search Results

Search found 753 results on 31 pages for 'selectors'.

Page 1/31 | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • How do the performance characteristics of jQuery selectors differ from those of CSS selectors?

    - by Moss
    I came across Google's Page Speed add-on for Firebug yesterday. The page about using efficient CSS selectors said to not use overqualified selectors, i.e. use #foo instead of div#foo. I thought the latter would be faster but Google's saying otherwise, and who am I to go against that? So that got me wondering if the same applied to jQuery selectors. This page I found the link to on SO says I should use $("div#foo"), which is what I was doing all along, since I thought that things would speed up by limiting the selector to match div elements only. But is it really better than writing $("#foo") like Google's saying for CSS selectors, or do CSS versus jQuery element matching work in different ways and I should stick with $("div#foo")?

    Read the article

  • The subscription model behind CSS selectors?

    - by Martin Kristiansen
    With CSS selectors a query string body > h1.span subscribes to a specific type of nodes in the tree. Does anyone know how this is done? Selectors for transformations, how does the browser select the result set? And is there a trick to making it efficient? I imagine there being some sort of hierarchical type-tree for the entire structure to which the nodes subscribe and which is what is used when doing the selector queries — but this is only a guess. Does anyone know the real answer? Or even more interesting, what would be the best way to do dynamic lookups on a tree based on jQuery/CSS search queries?

    Read the article

  • What is the Relative Performance of Pseudo-Class and Custom Selectors?

    - by James Wiseman
    It's my understanding that, in terms of selector speed, that #ID selectors are fastest, followed by element selectors, and then .class selectors. I have always assumed that pseudo-class selectors and custom selectors (those in the form ':selector') are similar to .class selectors, but I realised that I'm just not sure. I realise that this does depend on the complexity of the code within the pseudo-class/custom selector, so I guess I'd like to know the answer with this excluded as factor. Any help would be appreciated. Thanks.

    Read the article

  • Metro: Query Selectors

    - by Stephen.Walther
    The goal of this blog entry is to explain how to perform queries using selectors when using the WinJS library. In particular, you learn how to use the WinJS.Utilities.query() method and the QueryCollection class to retrieve and modify the elements of an HTML document. Introduction to Selectors When you are building a Web application, you need some way of easily retrieving elements from an HTML document. For example, you might want to retrieve all of the input elements which have a certain class. Or, you might want to retrieve the one and only element with an id of favoriteColor. The standard way of retrieving elements from an HTML document is by using a selector. Anyone who has ever created a Cascading Style Sheet has already used selectors. You use selectors in Cascading Style Sheets to apply formatting rules to elements in a document. For example, the following Cascading Style Sheet rule changes the background color of every INPUT element with a class of .required in a document to the color red: input.red { background-color: red } The “input.red” part is the selector which matches all INPUT elements with a class of red. The W3C standard for selectors (technically, their recommendation) is entitled “Selectors Level 3” and the standard is located here: http://www.w3.org/TR/css3-selectors/ Selectors are not only useful for adding formatting to the elements of a document. Selectors are also useful when you need to apply behavior to the elements of a document. For example, you might want to select a particular BUTTON element with a selector and add a click handler to the element so that something happens whenever you click the button. Selectors are not specific to Cascading Style Sheets. You can use selectors in your JavaScript code to retrieve elements from an HTML document. jQuery is famous for its support for selectors. Using jQuery, you can use a selector to retrieve matching elements from a document and modify the elements. The WinJS library enables you to perform the same types of queries as jQuery using the W3C selector syntax. Performing Queries with the WinJS.Utilities.query() Method When using the WinJS library, you perform a query using a selector by using the WinJS.Utilities.query() method.  The following HTML document contains a BUTTON and a DIV element: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Application1</title> <!-- WinJS references --> <link href="//Microsoft.WinJS.0.6/css/ui-dark.css" rel="stylesheet"> <script src="//Microsoft.WinJS.0.6/js/base.js"></script> <script src="//Microsoft.WinJS.0.6/js/ui.js"></script> <!-- Application1 references --> <link href="/css/default.css" rel="stylesheet"> <script src="/js/default.js"></script> </head> <body> <button>Click Me!</button> <div style="display:none"> <h1>Secret Message</h1> </div> </body> </html> The document contains a reference to the following JavaScript file named \js\default.js: (function () { "use strict"; var app = WinJS.Application; app.onactivated = function (eventObject) { if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) { WinJS.Utilities.query("button").listen("click", function () { WinJS.Utilities.query("div").clearStyle("display"); }); } }; app.start(); })(); The default.js script uses the WinJS.Utilities.query() method to retrieve all of the BUTTON elements in the page. The listen() method is used to wire an event handler to the BUTTON click event. When you click the BUTTON, the secret message contained in the hidden DIV element is displayed. The clearStyle() method is used to remove the display:none style attribute from the DIV element. Under the covers, the WinJS.Utilities.query() method uses the standard querySelectorAll() method. This means that you can use any selector which is compatible with the querySelectorAll() method when using the WinJS.Utilities.query() method. The querySelectorAll() method is defined in the W3C Selectors API Level 1 standard located here: http://www.w3.org/TR/selectors-api/ Unlike the querySelectorAll() method, the WinJS.Utilities.query() method returns a QueryCollection. We talk about the methods of the QueryCollection class below. Retrieving a Single Element with the WinJS.Utilities.id() Method If you want to retrieve a single element from a document, instead of matching a set of elements, then you can use the WinJS.Utilities.id() method. For example, the following line of code changes the background color of an element to the color red: WinJS.Utilities.id("message").setStyle("background-color", "red"); The statement above matches the one and only element with an Id of message. For example, the statement matches the following DIV element: <div id="message">Hello!</div> Notice that you do not use a hash when matching a single element with the WinJS.Utilities.id() method. You would need to use a hash when using the WinJS.Utilities.query() method to do the same thing like this: WinJS.Utilities.query("#message").setStyle("background-color", "red"); Under the covers, the WinJS.Utilities.id() method calls the standard document.getElementById() method. The WinJS.Utilities.id() method returns the result as a QueryCollection. If no element matches the identifier passed to WinJS.Utilities.id() then you do not get an error. Instead, you get a QueryCollection with no elements (length=0). Using the WinJS.Utilities.children() method The WinJS.Utilities.children() method enables you to retrieve a QueryCollection which contains all of the children of a DOM element. For example, imagine that you have a DIV element which contains children DIV elements like this: <div id="discussContainer"> <div>Message 1</div> <div>Message 2</div> <div>Message 3</div> </div> You can use the following code to add borders around all of the child DIV element and not the container DIV element: var discussContainer = WinJS.Utilities.id("discussContainer").get(0); WinJS.Utilities.children(discussContainer).setStyle("border", "2px dashed red");   It is important to understand that the WinJS.Utilities.children() method only works with a DOM element and not a QueryCollection. Notice that the get() method is used to retrieve the DOM element which represents the discussContainer. Working with the QueryCollection Class Both the WinJS.Utilities.query() method and the WinJS.Utilities.id() method return an instance of the QueryCollection class. The QueryCollection class derives from the base JavaScript Array class and adds several useful methods for working with HTML elements: addClass(name) – Adds a class to every element in the QueryCollection. clearStyle(name) – Removes a style from every element in the QueryCollection. conrols(ctor, options) – Enables you to create controls. get(index) – Retrieves the element from the QueryCollection at the specified index. getAttribute(name) – Retrieves the value of an attribute for the first element in the QueryCollection. hasClass(name) – Returns true if the first element in the QueryCollection has a certain class. include(items) – Includes a collection of items in the QueryCollection. listen(eventType, listener, capture) – Adds an event listener to every element in the QueryCollection. query(query) – Performs an additional query on the QueryCollection and returns a new QueryCollection. removeClass(name) – Removes a class from the every element in the QueryCollection. removeEventListener(eventType, listener, capture) – Removes an event listener from every element in the QueryCollection. setAttribute(name, value) – Adds an attribute to every element in the QueryCollection. setStyle(name, value) – Adds a style attribute to every element in the QueryCollection. template(templateElement, data, renderDonePromiseContract) – Renders a template using the supplied data.  toggleClass(name) – Toggles the specified class for every element in the QueryCollection. Because the QueryCollection class derives from the base Array class, it also contains all of the standard Array methods like forEach() and slice(). Summary In this blog post, I’ve described how you can perform queries using selectors within a Windows Metro Style application written with JavaScript. You learned how to return an instance of the QueryCollection class by using the WinJS.Utilities.query(), WinJS.Utilities.id(), and WinJS.Utilities.children() methods. You also learned about the methods of the QueryCollection class.

    Read the article

  • selectors-api for data attributes

    - by MJ
    In HTML5, CSS selectors seem to operate well with data-* attributes. For example: <style> div[data-foo='bar'] { background:#eee; } </style> <div data-foo='bar'>colored</div> <div>not colored</div> will properly style the first . But, attempts to select such elements using the selectors-api fail. Examples: var foos = document.querySelectorAll("div[data-foo]='bar'"); or var foos = document.querySelectorAll("div data-foo='bar'"); in Chrome and Safari, this produces a cryptic error: SYNTAX_ERR: DOM Exception 12 Any thoughts on how to use the selectors-api to properly select elements on the basis of data-* attributes?

    Read the article

  • Using JavaScript/jQuery to return a list of CSS selectors based on highlighted text

    - by Bungle
    I've been given some project requirements that involve (ideally) returning a list of CSS selectors based on highlighted text. In other words, a user could do something like this on a page: Click a button to indicate that their next text selection should be recorded. Highlight some text on the page. See a generated list of CSS selectors that correspond to all the elements that contain the highlighted text. Firstly, does this seem like a feasible goal? jQuery makes it easy to use a selector to access a particular element, but I'm not sure if the reverse holds true. If an element lacks an id attribute, I also don't know how you'd return an "optimized" selector - i.e., one that identifies an element uniquely. Maybe crawl up the DOM until you find an ID, then stem the selector from there? Secondly, from a high-level perspective, any ideas on how to go about this? Any tips or tricks that could speed development? I very much appreciate any help. Thanks!

    Read the article

  • JQuery: combine two jq selectors

    - by Bruno
    Hi there. Im sure the solution is simple but I cant figure it out :( I need to combine two jquery selectors in one selector: $(this) + $('input[type=text]:first') $(this) is e.g div#selected so the result should be: $('div#selected input[type=text]:first').focus(); How to do?

    Read the article

  • Parse HTML with CSS or XPath selectors?

    - by ovolko
    My goal is to parse HTML with lxml, which supports both XPath and CSS selectors. I can tie my model properties either to CSS or XPath, but I'm not sure which one would be the best, e.g. less fuss when HTML layout is changed, simpler expressions, greater extraction speed. What would you choose in such a situation?

    Read the article

  • jQuery multiple selectors into dynamic attribute

    - by Jason Fletcher
    I am trying to attach an event to a separate onhover trigger. But I am having problems using multiple selectors since its dynamic. Need help ::: Upon hovering on the yellow box named 'Rings', this should trigger the animated slide event for the green box above it. http://home.jasonfletcher.info/all/alliteration/index.html $('.boxgrid1').hover(function(){ $(".cover", this).stop().animate({top:'0px'},{queue:false,duration:300}); }, function() { $(".cover", this).stop().animate({top:'247px'},{queue:false,duration:300}); });

    Read the article

  • Change parent class of dom object via css selectors

    - by Le_Coeur
    Can i change parent class of some dom object on hover event via CSS selectors? For example I have such block: <span class="wBlock" > <span class="wText">Text</span> <span class="wLink"/> <\/span> and if i move mouse to span "wLink" span "wBlock" must be changed, and if i move out than it must be the same as at the begining .wLink{ padding-right:15px; background:url(/img/addlink.png) center right no-repeat; cursor:pointer; } .wText{ background-color: #1BE968; } It's something like this and if i move my cursor to plus text highlight must be changed to yellow

    Read the article

  • jQuery animate() - multiple selectors and variables, a unique animate() call

    - by ozke
    Hi guys, I am resizing several divs in a loop with animate() in jQuery. At the same time I am moving (left property, no resizing at all) the div where they are contained. Problem is, despite they have same duration the resize animate calls finish before the move call. They are out of sync. Is there any way of creating a list of selectors and its properties and then run a unique animate() call? Or, is there any alternative to make multiple animations happen at the same time? I've seen there's a property called step that happens every time animate loop happens but, again, each animate() call has it's own step call. Thanks in advance :)

    Read the article

  • Use some CSS properties in many selectors without editing HTML or using JS

    - by OrB
    CSS: .bananaTrans { -moz-transition : all 1s ease-in-out; -webkit-transition: all 1s ease-in-out; transition : all 1s ease-in-out; } .bananaClass { color: yellow; } HTML: <div class="bananaClass">Banana Banana Banana</div> The objective is to make every element that has class "bananaClass" inherit the properties of "bananaTrans" without editing the HTML or using JavaScript. It ("bananaTrans") don't need exactly to be a class, it's just a bunch of properties to be used amongst other selectors.

    Read the article

  • Complex Selectors with jQuery Delegate

    - by Keith Rousseau
    Is there a restriction on the complexity of selectors that can be used with delegate in jQuery 1.4.2? This works for me: $('.activeTabsList').delegate('.activeTabsListItem', 'click', function() { alert('here'); }); This does not work: $('.activeTabsList').delegate('.activeTabsListItem:not(.selected)', 'click', function() { alert('here'); }); As you can probably assume, there is only 1 item at a time that has the selected class. When I click the other tabs, my delegate handler is still not fired.

    Read the article

  • CSS Child selectors in IE7 tables

    - by John
    I'm trying to use the CSS child selector in IE7, and it doesn't seem to work. I have nested tables. My outer table has a class name "mytable", and I want the td's of the outer table to show borders. I don't want the inner table td's to have borders. I think I should be able to have CSS that looks like this: .mytable { border-style: solid } .mytable>tr>td { border-style: solid } But the second line seems to have no effect. If I change the second line to make it less specific, it applies to all the td's - I see too many borders. td { border-style: solid } So I think it really is just an issue with the selectors. Pages like this suggest that IE7 should be able to do what I want. Am I doing something silly? Here's the whole HTML file: <html> <head> <style type="text/css"> .mytable { border-style: solid; border-collapse: collapse;} td { border-style: solid; } </style> </head> <body> <table class="mytable"> <tr> <td>Outer top-left</td> <td>Outer top-right</td> </tr> <tr> <td>Outer bottom-left</td> <td> <table> <tr> <td>Inner top-left</td> <td>Inner top-right</td> </tr> <tr> <td>Inner bottom-left</td> <td>Inner bottom-right</td> </tr> <table> </td> </tr> <table> </body> </html>

    Read the article

  • CSS selectors : should I make my CSS easier to read or optimise the speed

    - by Laurent Bourgault-Roy
    As I was working on a small website, I decided to use the PageSpeed extension to check if their was some improvement I could do to make the site load faster. However I was quite surprise when it told me that my use of CSS selector was "inefficient". I was always told that you should keep the usage of the class attribute in the HTML to a minimum, but if I understand correctly what PageSpeed tell me, it's much more efficient for the browser to match directly against a class name. It make sense to me, but it also mean that I need to put more CSS classes in my HTML. It make my .css file harder to read. I usually tend to mark my CSS like this : #mainContent p.productDescription em.priceTag { ... } Which make it easy to read : I know this will affect the main content and that it affect something in a paragraph tag (so I wont start to put all sort of layout code in it) that describe a product and its something that need emphasis. However it seem I should rewrite it as .priceTag { ... } Which remove all context information about the style. And if I want to use differently formatted price tag (for example, one in a list on the sidebar and one in a paragraph), I need to use something like that .paragraphPriceTag { ... } .listPriceTag { ... } Which really annoy me since I seem to duplicate the semantic of the HTML in my classes. And that mean I can't put common style in an unqualified .priceTag { ... } and thus I need to replicate the style in both CSS rule, making it harder to make change. (Altough for that I could use multiple class selector, but IE6 dont support them) I believe making code harder to read for the sake of speed has never been really considered a very good practice . Except where it is critical, of course. This is why people use PHP/Ruby/C# etc. instead of C/assembly to code their site. It's easier to write and debug. So I was wondering if I should stick with few CSS classes and complex selector or if I should go the optimisation route and remove my fancy CSS selectors for the sake of speed? Does PageSpeed make over the top recommandation? On most modern computer, will it even make a difference?

    Read the article

  • jQuery selectors with meta-characters

    - by steamboy
    Hello Guys, I'm having problem selecting an element with an id like this <li ="0f:Bactidol_Recorder.mp4">. I tried using the function that escapes meta-characters with two backslashes below from this jquery link but still can't select the element Function: function jq(myid) { return '#' + myid.replace(/(:|\.)/g,'\\$1'); } Example: $(jq('0fb:Bactidol_Recorder.mp4')).empty() Output: $(#0fb\\:Bactidol_Recorder\\.mp4).empty();

    Read the article

  • Are There Specific CSS Selectors Targeting IE10?

    - by kunambi
    Since IE is getting rid of conditional comments in version 10, I'm in dire need to find a "CSS hack" targeting IE10 specifically. NB! It has to be the selector that's getting "hacked" and not the CSS-properties. In Mozilla, you can use: @-moz-document url-prefix() { h1 { color: red; } } While in Webkit, you usually do: @media screen and (-webkit-min-device-pixel-ratio:0) { h1 { color: blue; } } How would I do something similar in IE10? TYIA.

    Read the article

  • need help with jquery selectors

    - by photographer
    I've got code like that: <ul class="gallery_demo_unstyled"> <li class="active"><img src='001.jpg' /></li> <li><img src='002.jpg' /></li> <li><img src='003.jpg' /></li> <li><img src='004.jpg' /></li> <li><img src='005.jpg' /></li> <li><img src='006.jpg' /></li> </ul> <div class="Paginator"> <a href="../2/" class="Prev">&lt;&lt;</a> <a href="../1/">1</a> <a href="../2/">2</a> <span class="this-page">3</span> <a href="../4/">4</a> <a href="../5/">5</a> <a href="../4/" class="Next">&gt;&gt;</a> </div> <div class="Albums"><div class="AlbumsMenu"> <p><b>ALBUMS</b></p> <p><a href="../../blackandwhite/1/" >blackandwhite</a></p> <p><a href="../../color/1/" class='this-page'>>>color</a></p> <p><a href="../../film/1/" >film</a></p> <p><a href="../../digital/1/" >digital</a></p> <p><a href="../../portraits/1/" >portraits</a></p> </div></div> ...and some JavaScript/jQuery allowing to cycle through the images (the very top li elements) going back to the first image after the last one: $$.nextSelector = function(selector) { return $(selector).is(':last-child') ? $(selector).siblings(':first-child') : $(selector).next(); }; Current page is always 'this-page' class (span or p in my case, but I could change that if necessary). The question: what should I change in my code to make it go after the last image to the next page instead of cycling through the page over and over again, and after the last page to the next album? And to the first image on the first page of the first album after the last-last-last (or just stop there — don't really care)?

    Read the article

  • How to use "this" and not "this" selectors in jQuery

    - by tg4FSI
    I have 4 divs with content like below: <div class="prodNav-Info-Panel">content</div> <div class="prodNav-Usage-Panel">content</div> <div class="prodNav-Guarantee-Panel">content</div> <div class="prodNav-FAQ-Panel">content</div> And a navigation list like this: <div id="nav"> <ul id="navigation"> <li><a class="prodNav-Info" ></a></li> <li><a class="prodNav-Usage" ></a></li> <li><a class="prodNav-Guarantee"></a></li> <li><a class="prodNav-FAQ" ></a></li> </ul> </div> When the page is first displayed I show all the content by executing this: $('div.prodNav-Usage-Panel').fadeIn('slow'); $('div.prodNav-Guarantee-Panel').fadeIn('slow'); $('div.prodNav-FAQ-Panel').fadeIn('slow'); $('div.prodNav-Info-Panel').fadeIn('slow'); Now, when you click the navigation list item it reveals the clicked content and hides the others, like this: $('.prodNav-Info').click( function() { $('div.prodNav-Info-Panel').fadeIn('slow'); $('div.prodNav-Usage-Panel').fadeOut('slow'); $('div.prodNav-Guarantee-Panel').fadeOut('slow'); $('div.prodNav-FAQ-Panel').fadeOut('slow'); }); So what I have is 4 separate functions because I do not know which content is currently displayed. I know this is inefficient and can be done with a couple of lines of code. It seems like there is a way of saying: when this is clicked, hide the rest. Can I do this with something like $(this) and $(not this)? Thanks, Erik

    Read the article

  • jQuery .each() with multiple selectors - skip, then .empty() elements

    - by joe
    I'd like to remove all matching elements, but skip the first instance of each match: // Works as expected: removes all but first instance of .a jQuery ('.a', '#scope') .each ( function (i) { if (i > 0) jQuery (this).empty(); }); // Expected: removal of all but first instance of .a and .b // Result: removal of *all* instances of both .a and .b jQuery ('.a, .b', '#scope') .each ( function (i) { if (i > 1) jQuery (this).empty(); }); <div id="scope"> <!-- Want to keep the first instance of .a and .b --> <div class="a">[bla]</span> <div class="b">[bla]</span> <!-- Want to remove all the others --> <div class="a">[bla]</span> <div class="b">[bla]</span <div class="a">[bla]</span> <div class="b">[bla]</span ... </div> Any suggestions? Using jQuery() rather than $() because of conflict with 'legacy' code Using .empty() because .a contains JS I'd like to disable Stuck with jQuery 1.2.3 Thanks you!

    Read the article

  • How to use "this" and not "this" selectors in qQuery

    - by tg4FSI
    I have 4 divs with content like below: <div class="prodNav-Info-Panel">content</div> <div class="prodNav-Usage-Panel">content</div> <div class="prodNav-Guarantee-Panel">content</div> <div class="prodNav-FAQ-Panel">content</div> And a navigation list like this: <div id="nav"> <ul id="navigation"> <li><a class="prodNav-Info" ></a></li> <li><a class="prodNav-Usage" ></a></li> <li><a class="prodNav-Guarantee"></a></li> <li><a class="prodNav-FAQ" ></a></li> </ul> </div> When the page is first displayed I show all the content by executing this: $('div.prodNav-Usage-Panel').fadeIn('slow'); $('div.prodNav-Guarantee-Panel').fadeIn('slow'); $('div.prodNav-FAQ-Panel').fadeIn('slow'); $('div.prodNav-Info-Panel').fadeIn('slow'); Now, when you click the navigation list item it reveals the clicked content and hides the others, like this: $('.prodNav-Info').click( function() { $('div.prodNav-Info-Panel').fadeIn('slow'); $('div.prodNav-Usage-Panel').fadeOut('slow'); $('div.prodNav-Guarantee-Panel').fadeOut('slow'); $('div.prodNav-FAQ-Panel').fadeOut('slow'); }); So what I have is 4 separate functions because I do not know which content is currently displayed. I know this is inefficient and can be done with a couple of lines of code. It seems like there is a way of saying: when this is clicked, hide the rest. Can I do this with something like $(this) and $(not this)? Thanks, Erik

    Read the article

1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >