JQuery :: Store In Variable Only First / Only Second Of Element's Multiple Classes
Apr 22, 2010
I'm using this bit of jQ to add a class to two different elements based on the class of another (parent/grandparent, etc) element.
First, when there's no class at all in <div id="main-content">, the 'active' class is added to *all* the #nav-primary LIs, and also to *all* the #aux-left DIVs; how can I modify this so that in the absence of any class on #main-content, do nothing?
Second, how can I target only the first or second of multiple classes to store in the 'containerClass' variable, e.g., <div id="main-content" class="apples bananas">?
I made this small piece of code, and I think I made it in a very drawn out way. I am sure there is a lot quicker way to do it. I want all divs to be cleared that are in a certain div. So when one link is clicked, the visible div is replaced with the new one (depending on the link)
Here is the code I have done... $(document).ready(function(){ $(".untitled1link").click(function(){ $('.untitled1, .untitled2, .untitled3, .untitled4, .untitled5_1, .untitled5_2, .untitled5_3, .wall, .lightswitch, .detritus, .untitled6, .table, .socket, .socket2').hide(); $(".untitled1").fadeIn('5'); }); });
I just need a way to say clear all in that certain div, rather than having to name each class. I was thinking of giving each of those another class which is uniform across them all. But I don't think you can have two classes.
This can't be too hard, but I'm not seeing the answer. Elements on a web page may contain a class starting with "tr_". Sample HTML:I'm using the following to select matching elements: $('[class*=tr_]').each(function() So far so good. But now, I need to get the name of the class that starts with "tr_" from each matching element.
It works fine when I give the paragraph a single class name, but when I attempt to create multiple class names the 2nd class name is not created.This is the (erroneous) markup that is created :<p class="class1" class2= "">test</p>How do I instead create (eg) <p class="class1 class2">test</p>.I know that multiple appends are not efficient but it is just a working example.
[code]I want to be able to highlight all of the divs which contain both the classes 'two' and 'three'. So the first and the third divs above are highlighted but the second isn't because it doesn't contiain both classes.I can see how to select multiple classes like this:$('.two, .three').css('background',''yellow');This selects items with either'two' or 'three' classes. I want it only to select the items with both classes.
a.) specify two parameters for the changeYear function: today and holiday.
function changeYear(today)(holiday){
b.) in the first line of the above function, use the getFullYear() date method to extract the 4-digit value from the today variable and store the value in a variable named year.
first line
c.) in the second line; use the setFullYear() date method to set the full year of the holiday date object to the value of the year variable.
second line
d.) in the third line, use a conditional operator on the year variable. The test condition is whether the value of the holiday date object is less than the today date object. If it is, this means that the event has already passed in the current year and the value of the year variable should be increased by 1.
third line
e.) in the fourth line of the function, again set the full year value of the holiday date object to the value of the year variable.
I want to get the class that starts with 'special' and store it in a variable...but I am having trouble doing this...I can get as far as storing all of the classes in a variable:
var myClasses = $(this).attr('class');
...but I now need to extract just the one class that starts with 'special'...
I am using a JQuery ToolTip on all links with a title="" and it works great. I want to add another class to (.shadow) and it only seems to work with one class.
Here is the code to initialize:
BTW I am using noConflict b/c I am running other JQuery scripts on the page.
I have tried:
And also:
Also tried creating two scripts. One with var $tooltip1 and the other with var tooltip2.
I have include a demo that should make it clearer, as to what I want to achieve. Ideally, each box will show a unique overlayed message as the user's mouse enters the box and hide once the mouse leaves.
In order to allow users to filter content, I've created a small checkbox list. To each checkbox is attached an ID, and too some divs on the page are attached these id's too (in the class attr that is); one div can be attached to multiple id's, and so have multiple classes.
In order to show or hide my div's I wrote : function couponsVisibles(){ $('.checkInteret').each(function(){ var coche = $(this).attr("checked"); if (coche) { var idCoupons = $(this).attr("id"); $(".zoneCoupon , div[class='" +idCoupons+ "']").each(function(){ $(this).fadeIn(); }); }}); } $(".checkInteret").click(function(){ var coche = $(this).attr("checked"); if (!coche) { var idCoupons = $(this).attr("id"); $(".zoneCoupon , div[class='" +idCoupons+ "']").each(function(){ $(this).fadeOut(); }); }couponsVisibles(); }); It looks like my selector "$(".zoneCoupon , div[class='" +idCoupons+"']")" doesn't work, but I can't figure out why. I've started using the [attribute*=value] selector, but this selector doesn't seem to make a difference beetween class='8 10' and class='8 1'...
The default behaviour for a class selector is: "An element can have multiple classes; only one of them must match." Is there a class selector where you can use multiple classes and all of them have to match?
I've got a list of links and divs. When I click on a link I want to keep showing all the divs which have a class that matches the clicked link id and hide all the divs which don't. At the same time I want to add another class (.item) to the matching divs and remove it from any div which is hidden.
When I run the code below, clicking any of the links hides all the divs apart from the one which doesn't have a matching colour class.
$('a.filterclick').click(function(){ var id = $(this).attr('id'); if($('.filterclass').hasClass(id)) {$('.filterclass').removeClass('filteredout').addClass('item'); }else
I have 3 divs in a page, and each div contains a submit button. When the submit button is pressed, i want to process a form contained in that particular div and insert the id of the div into a database in which the submit button was there.So, i want to retrieve the id name of the div and store it in a PHP variable so that i can put it in my sql query. How do i achieve it?
Ive never heard of this being done, but currently ive got a div which sits in the center of my screen. The div is about 80% wdith so there is a 10% gap on the left and 10% gap on the right. However, I want the gap on the top and bottom of my div to be the same as my gap on the left and right.
I need to somehow capture the pixel value for the gap on the left and right, store it in a variable and then use this number in my css for the top and bottom gap.
So I was wondering instead of calling document.getElementById('theTest').innerHTML; multiple times is it possible to store this as a variable and then access this later? If I want to change it though Have to go document.getElementById('theTest').innerHTML = something: right?
Is it even worth it to do something like this or is document.getElementById('theTest').innerHTML fast enough?