Forum

AccueilAccueil  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  

 

 Ma super webapp

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

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

MessageSujet: Re: Ma super webapp   Mar 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";

_________________
           
Ancien censeur
                                             
Beauté du geste libre
Supériorité de l'esprit sur la force
Rire
- Ellundril Chariakin, chevaucheuse de brume -
Voir le profil de l'utilisateur
Ancre vers ce message 
Kocal
Maître
avatar

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

MessageSujet: Re: Ma super webapp   Ven 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)

_________________
J'ai fait le design du site, wiki, et forum.
Voir le profil de l'utilisateur http://www.kocal.fr
Ancre vers ce message 
 

Ma super webapp

Page 2 sur 2Aller à la page : Précédent  1, 2

 Sujets similaires

-
» nouveauté : véhicule Tau super lourd
» [Bit TV] RETRO GAME TEST Super Mario 64.
» [Bit TV] RETRO GAME TEST Super Mario World.
» Extron Super Emotia Scan Converter c'est bien???
» Super Gang

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