Forum

AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  
Le deal à ne pas rater :
Cartes Pokémon : la prochaine extension Pokémon sera EV6.5 Fable ...
Voir le deal

 

 Ma super webapp

Aller à la page : Précédent  1, 2
AuteurMessage
Astarioth
Citadin aguerri
Astarioth

Messages : 988
Date d'inscription : 06/07/2014

Ma super webapp - Page 2 Empty
MessageSujet: Re: Ma super webapp   Ma super webapp - Page 2 EmptyMar 17 Mai - 10:02

Bon, je viens de tester tes fonctions Kocal sur mon code du stage

Le .css c'est cool, j'ai modifié mes .attr("style","....."), mais si tu veux enlever complètement l'attribut style présent dans la balise, ce que tu as proposé ne suffit pas.
Code:
$('#element').css({
   color: '',
   visibility: ''
});
Ca me laisse, dans mon cas :
Code:
<div title="Affichage" id=DivID" style="">

Or moi je veux enlevé cet attribut, d'où mon removeAttr() .
D'ailleurs, si tu as autre chose pour faire ça plus joliment, je suis preneur Wink

Ensuite ton querySelector(),  que tu fasse
Code:
document.querySelector('#tonId')
 ou
Code:
document.getElementById('tonId')
je vois pas trop la différence. A part que l'un c'est du JS pur et l'autre du Jquery. Si c'est plus compliqué que ça, explique moi.
D'autant plus que je dois travailler avec des Iframes, donc je fais des fois des trucs comme ça :
Code:
parent.window.frames[1].document.getElementById('DivId').style.marginLeft="0px";
Ancre vers ce message 
Kocal
Maître
Kocal

Pseudo en jeu : Kocal
Messages : 2785
Date d'inscription : 16/10/2012

Ma super webapp - Page 2 Empty
MessageSujet: Re: Ma super webapp   Ma super webapp - Page 2 EmptyVen 20 Mai - 14:51

La méthode $(el).css() n'est pas faite pour supprimer l'attribut « style », elle modifie/supprime seulement des règles CSS, le comportement est donc normal. Si tu dois vraiment enlever l'attribut « style », alors c'est en effet $(el).removeAttr('style') qu'il faut utiliser.
(Sinon comme je l'ai dis plus haut, c'est mieux de travailler avec des classes pour ajouter/supprimer des styles).

---

Utiliser directement document.querySelector('...') par rapport à $('...'), c'est que si tu n'as que des sélections d'éléments dans le DOM à faire, faire une requête pour charger une librairie de 90 ko (minifiée et non gzippée) est vraiment pas malin, même si c'est sur un CDN (oui je commence à faire gaffe à ça sur mes projets maintenant, ça me fait mal quand je vois un site qui fait 120 requêtes pour 20 Mo de datas la première fois que tu visites le site...).
D'ailleurs, il me semble avoir vu un jour dans les sources de jQuery que si document.querySelectorAll était défini, alors il était utilisé à la place de Sizzle (moteur de sélection de jQuery), mais pas sûr.

Si tu dois travailler avec des frames, essaye de faire des fonctions ou wrapper pour te faciliter la vie du genre:
Code:
function getFrame(index) {
    const frame = parent.window.frames[index];

    if(frame) {
        return frame.document;
    }

    throw new Error("Not frame found at index #{index}")
}

HTMLDocument.prototype.getElement = function(selector) {
    return this.querySelector(selector);
}

try {
    getFrame(0).getElement('#my_id').style.marginLeft = 0;
    // D'ailleurs, 0 et "0px" sont équivalents, mais préfère 0.
} catch(e) {
    console.error(e);
}

(J'ai pas testé, mais ça devrait le faire je pense xd)
http://www.kocal.fr
Ancre vers ce message 
 

Ma super webapp

Page 2 sur 2Aller à la page : Précédent  1, 2
Loytonia :: AU COIN DU FEU :: Informatique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
-