gatsu35 Blablaté par Harko | FlorentG a écrit :
Lapin compris. getElementById permet justement d'accéder à un élément par son id. Tout autre méthode n'est pas standard. On pourra aussi utiliser un alias, genre la fonction $ de prototype pour plus de légèreté
|
Juste un petit conseil en passant.
Lorsque vous êtes amenés à faire pas mal de JS, je ne pense pas trop utile d'utiliser tout de suite une lib, mais plutôt les parties d'une lib. Où le mieux c'est d'avoir un jeu de helpers fonctions sous la main, qui font gagner du temps pour l'écriture du code.
parmis ces fonctions pas mal sont tirées de quirksmode. Je ne le cache pas, on va pas réinventer la roue.
Code :
- //Add Events
- function addEvent( obj, type, fn ) {
- if (obj.addEventListener)
- obj.addEventListener( type, fn, false );
- else if (obj.attachEvent) {
- obj["e"+type+fn] = fn;
- obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
- obj.attachEvent( "on"+type, obj[type+fn] );
- }
- }
- /* $: shortcut for document.getElementById*/
- function $(obj) {
- if(typeof obj == "string" ) {
- return document.getElementById(obj);
- } else {
- return obj;
- }
- }
- /*getElementsByClassName: return an array of Objects with specified className*/
- function getElementsByClassName(oElm, sTagName, sClassName){
- var aElements = (sTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(sTagName);
- var aReturnElements = new Array();
- sClassName = sClassName.replace(/\-/g, "\\-" );
- var oRegExp = new RegExp("(^|\\s)" + sClassName + "(\\s|$)" );
- var oElement;
- for(var i=0; i < aElements.length; i++){
- oElement = aElements[i];
- if(oRegExp.test(oElement.className))
- aReturnElements.push(oElement);
- }
- return aReturnElements
- }
- /*findPos: return position of an element*/
- function findPos(obj) {
- var curleft = curtop = 0;
- if (obj.offsetParent) {
- curleft = obj.offsetLeft
- curtop = obj.offsetTop
- while (obj = obj.offsetParent) {
- curleft += obj.offsetLeft
- curtop += obj.offsetTop
- }
- }
- return [curleft,curtop];
- }
- // getStyle : retourne la valeur d'une propriété CSS appliquée à un élément
- function getStyle(oElm, strCssRule){
- var strValue = "";
- if(document.defaultView && document.defaultView.getComputedStyle) {
- try{ strValue = document.defaultView.getComputedStyle(oElm, "" ).getPropertyValue(strCssRule); }
- catch(e) { strValue = ""; }
- }
- else if(oElm.currentStyle) {
- try{
- strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
- return p1.toUpperCase();
- });
- strValue = oElm.currentStyle[strCssRule];
- } catch(e) {
- strValue = "";
- }
- }
- return strValue;
- }
- /*retourne la valeur entière d'un style*/
- function intStyle(oElm, strCSSRule) {
- var val = parseInt(getStyle(oElm, strCSSRule));
- if (isNaN(val)) val=0;
- return val;
- }
- /* getText: retourne le contenu texte d'un élément */
- function getText(elm) {
- if (elm.innerText) {
- return elm.innerText;
- } else {
- return elm.textContent;
- }
- }
|
|