11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
J'utilise la fonction id="no-link" elle marche très bien lorsqu'elle est liée à une image :
<a href="/indexGB.html"id="no-link"><img src="images/GB flag.jpg" width="29" height="29" alt="photo"class="myphoto2"></a>

mais ne fonctionne plus avec une ancre dans l'adresse:
<p><a href="/index.html#def"id="no-link"> test</a></p>
<p><w><a href="#rq"id="no-link">- test2 -</a></w></p>

Merci de votre aide
Lelouc
Administrateur
Bonjour !

Elle est censée faire quoi cette "fonction" no-link ? Sans les styles CSS associés on ne peut pas savoir.

Attention aussi à deux choses :
- un id est unique, donc tu ne peux avoir plusieurs fois l'attribut id="no-link" sur ta page
- tu n'as pas d'espace avant ton attribut id, donc ce sera mal reconnu par les navigateurs
Bonsoir,
J'utilise id="no-link" dans le but de ne pas afficher l'adresse en bas à gauche de la page lors du survol du lien. Cela fonctionne très bien sur 2 lignes de la page liées à des images.
id="no-link" est lié à un code js:
$(document).ready(function () {
          setTimeout(function () {
                
                $('a[href]#no-link').each(function () {
                    var href = this.href;
     
                    $(this).removeAttr('href').css('cursor', 'pointer').click(function () {
                        if (href.toLowerCase().indexOf("#") >= 0) {
     
                        } else {
                            window.open(href, '_blank');
                        }
                    });
                });
     
          }, 500);
    })

Modifié par Lelouc (03 Feb 2021 - 21:47)
Modérateur
Et l'eau,

Raphael a écrit :

- un id est unique, donc tu ne peux avoir plusieurs fois l'attribut id="no-link" sur ta page


+1 (d'où ton bug surement)

Raphael a écrit :

- tu n'as pas d'espace avant ton attribut id, donc ce sera mal reconnu par les navigateurs


+1 (d'où ton bug surement)

Lelouc a écrit :
J'utilise id="no-link" dans le but de ne pas afficher l'adresse en bas à gauche de la page lors du survol


Suivant ce que je lis, ce n'est pas le cas.

- Quel est l'intérêt de ton setTimeout ?
- quel est ton intérêt d'utiliser la méthode css ?
- Pourquoi supprimer l'attr href ?
- Pourquoi utiliser la méthode each, alors qu'a priori tu n'en as pas besoin.
- ton if est mal ficelé
- window open est une mauvaise solution
- pourquoi supprimer la valeur de href ?
Modifié par niuxe (04 Feb 2021 - 07:24)
Bonjour,
N'étant pas un expert j'utilise beaucoup le copier coller .... jusqu'à ce que ça fonctionne.
Exemple mon dernier problème id="no-link" la solution suivante fonctionne 8 fois sur la même page.
<a onclick = "location.href='#def'"id="no-link"> texte </a></p>
Si vous pouvez m'expliquer pourquoi, j'aurai en plus appris quelque chose.
Voir http://indiacastes.42web.io/
Cordialement
Lelouc
Modérateur
Lelouc a écrit :
Bonjour,
N'étant pas un expert j'utilise beaucoup le copier coller .... jusqu'à ce que ça fonctionne
....
Si vous pouvez m'expliquer pourquoi, j'aurai en plus appris quelque chose.
...


Le problème étant que suivant toutes mes énumérations dans mon message précédent, il faudrait des lignes et des lignes d'explications. D'une manière général copier/coller c'est casse gueule et surtout contre productif et dangereux. Si tu copies colles ce genre de ligne (sudo rm -rf / ) ça va te coûter très cher ! Quand on copie colle, on sait ce que l'on fait, sinon le mur assuré.
Modifié par niuxe (07 Feb 2021 - 22:43)