ÉDITER:
J'ai appris qu'en utilisant une valeur autre que _blank
, NE FONCTIONNE PAS sur les navigateurs mobiles pour ouvrir de nouvelles fenêtres / onglets.
Par exemple, si vous devez ouvrir une nouvelle fenêtre / onglet:
Cela fonctionne sur tous les navigateurs, même les navigateurs mobiles:
target="_blank"
.Cela ne fonctionne pas sur les navigateurs mobiles, mais il fonctionne sur les navigateurs de bureau:
target="new"
.
-
Bien que celui-ci fonctionne, je ne suis pas sûr qu'il y ait une meilleure façon de le faire, ou si la façon dont je l'ai obtenue est la bonne / seule façon.
Fondamentalement, ce que je fais est de remplacer toutes les valeurs d'attribut target="_new"
ou , de cette façon, une seule nouvelle fenêtre est ouverte et toutes les autres nouvelles fenêtres s'ouvriront afin de ne pas submerger l'utilisateur avec plusieurs fenêtres.target="_blank"
target="nw"
J'ajoute également un attribut " Ouvre dans une nouvelle fenêtre " title=""
.
Donc, la solution que j'ai créée est celle-ci:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Notez les deux .attr();
méthodes.
Est-ce la bonne façon d'ajouter deux attributs à un élément?
J'ai essayé .attr('target','nw','title','Opens in a new window')
mais ça n'a pas marché.
La raison pour laquelle je pose la question est à cause du principe DYR (Don't Repeat Yourself), donc si je peux améliorer le code que j'ai, tant mieux, sinon, c'est ce que c'est.
Merci.
.attr('a,b','value')
cela ne fonctionne pas. Je me suis installé.attr('a',1).attr('b',1)
aussi. Être moins dépendant des nouvelles fenêtres pourrait être une autre approche, dans votre cas, cependant, @ricardozea: PRéponses:
Devrait marcher:
Remarque :
À partir de la documentation jQuery (septembre 2016) pour .attr :
Edit :
Pour référence future ... Pour obtenir un seul attribut que vous utiliseriez
Pour définir un seul attribut que vous utiliseriez
Pour définir plusieurs attributs, vous devez tout envelopper dans {...}
Modifier - Si vous essayez d'obtenir / de définir l'attribut 'vérifié' à partir d'une case à cocher ...
Vous devrez utiliser à
prop()
partir de jQuery 1.6+Donc, pour obtenir le statut vérifié d'une case à cocher, vous devez utiliser:
Ou pour définir la case à cocher comme cochée ou décochée, vous devez utiliser:
la source
la bonne manière est:
la source
Si vous voulez ajouter des attributs bootstrap dans la balise d'ancrage dynamiquement, cela vous aidera beaucoup
la source
Quelque chose comme ça:
la source
Utilisez des accolades et mettez tous les attributs que vous souhaitez ajouter à l'intérieur
Exemple:
la source
la source