2010-08-31 5 views
2

J'utilise les onglets de l'interface utilisateur Jquery et je souhaite modifier les propriétés d'un élément au passage de la souris.Utilisation de JQuery pour modifier les propriétés CSS

Mon HTML est la suivante:

<ul id="sub-tabs"> <li><a href="#000"><span>000<br /><p id="ct1">General</p></span></a></li> </ul>...

Et jquery est:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("#guide-nav ul#sub-tabs li p").css("display", "none"); 
}); 

Mais cela ne fonctionne pas.

Répondre

1
<ul id="sub-tabs"> 
    <li><a href="#000"><span>000<br /><p id="ct1">General</p></span></a></li> 
</ul> 

Jquery est:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("#guide-nav ul#sub-tabs li a span p").css("display", "none"); 
}); 

Ou essayez ceci:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("p#ct1").css("display", "none"); 
}); 

Ou ceci:

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $(this).find('p').css("display", "none"); 
}); 
+0

Cela ne semble pas fonctionner non plus. Je pensais que peut-être que les onglets de l'interface utilisateur Jquery peuvent être en train de réécrire les styles et/ou les noms des éléments, alors j'ai retiré l'appel, et toujours pas aller. –

0

Utilisez cette

$('#guide-nav ul#sub-tabs span').mouseover(function() { 
    $("#guide-nav ul#sub-tabs li p").css({display:"none"}); 
}); 
+1

C'est juste une autre façon d'écrire .css ("display", "none") et ne changerait rien à la façon dont son code réagit. – bradenkeith

+0

Toujours pas de go. Je peux essayer dans un environnement indépendant, pour voir si un autre code sur la page est en train de jouer avec ... –

0

D'accord, j'enroulai cela dans une fonction et il fonctionne ...

$(function() {            
    $('#guide-nav ul#sub-tabs li a span').mouseover(function() { 
     $(this).find('p').css("display", "none"); 
    }); 
}); 

j'ai décidé d'utiliser la déclaration ci-dessus pour cacher les éléments que dans l'onglet sélectionné, car il y aura des multiples

0

Lorsque j'essaie votre code, cela fonctionne réellement. Êtes-vous sûr que le DOM a fini de charger lorsque vous exécutez le javascript?

$(document).ready(function() { 
    $('#guide-nav ul#sub-tabs span').mouseover(function() { 
    ("#guide-nav ul#sub-tabs li p").css("display", "none"); 
    }); 
}); 

Au lieu de .css("display", "none"); vous pouvez également utiliser .hide()

Questions connexes