Je veux créer dynamiquement un élément <a href="mailto:...">
, puis le "cliquer". Tout cela sans modifier la page.
J'essaye ceci:
$('<a href="mailto:[email protected]"> </a>').click();
... en vain
Cliquer sur un lien signifie changer de window.location, alors pourquoi pas
window.location = "mailto:[email protected]";
Ce n'est pas jQuery, mais cela fonctionne très bien.
var link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
link.click();
Pour que cela fonctionne avec jQuery, vous devez d'abord sélectionner l'élément DOM à l'intérieur de l'objet jQuery.
$('body').append('<a id="link" href="mailto:[email protected]"> </a>');
$('#link')[0].click();
Remarquez le [0]
violon: https://jsfiddle.net/fkwhvvhk/
Essayez quelque chose comme ça ...
Démo: http://jsfiddle.net/wdm954/xtTGX/1
$('.a').append('<a class="b" href="mailto:[email protected]"> </a>');
$('.b').click(function() {
window.location = $(this).attr('href');
}).click();
.click()
fonctionne avec un DOM, pas avec un objet jQuery
cA devrait etre:
$('<a href="mailto:[email protected]"></a>')[0].click();
Vous pouvez créer le tag de cette façon:
$('PARENT_TAG').append('<a id="dinamic_link" href="mailto:[email protected]"> </a>');
//Now click it
$('#dinamic_link').click();
HTH!
pourquoi ne pas simplement changer l'emplacement de la fenêtre sur le href du lien? Y a-t-il une raison spécifique pour laquelle vous devez utiliser un lien?
Autrement:
window.location = 'http://example.com';
Je viens de faire un tutoriel à ce sujet!
$("[href='mailto:[email protected]']").click();
Cela devrait sélectionner tous les éléments avec un attribut href avec "mailto: [email protected]" comme valeur.
www.w3schools.com/jquery/jquery_selectors.asp
$('#something').append('<a id="link" href="mailto:[email protected]"></a>');
$('#link').trigger('click');
Je dirais que vous devriez envisager d'ajouter le href à un conteneur (principalement div) en utilisant .append () et appeler .click ()
$('parent_div').append('<a id="link" href="mailto:[email protected]"> </a>');
//Now click it
$('#link').click();
Il n'est pas possible de simuler des clics normaux. Vous pouvez uniquement déclencher des gestionnaires d'événements click
qui ont été liés à un élément.
Comme @Alex a posté, vous pouvez changer le window.location
pour obtenir le même effet ..
var link = document.createElement('<a>')
link.href = "mailto:[email protected]";
link.id = "hitme"
$('#hitme').click();
vous devez utiliser .on puis appeler .click. Une hyper référence générée dynamiquement ne fonctionne pas avec un simple .click ()