J'essaie de déclencher un lien, cliquez sur .jquery. Est-ce que quelqu'un sait pourquoi ce qui suit ne fonctionne pas?.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>test</title>
</head>
<body>
<div>
<a id="google_link" href="http://google.com" target="_blank">click to go to google</a>
</div>
<div id="google_link_proxy">click here to do the same as the link above</div>
<script type="text/javascript">
$("#google_link_proxy").click(function(event){
$("#google_link").click();
});
</script>
</body>
</html>
On dirait que votre sélecteur $("google_link_proxy")
est désactivé. Essayez $("#google_link_proxy")
.
Vous devez également fermer l'appel d'observation avec })
.
Ce sont les erreurs de syntaxe avec le code ci-dessus bien que je ne pense pas que ces fonctions soient fournies par défaut dans jQuery.
Voici ce que je pense que vous recherchez:
$("#google_link_proxy").click(function(event){
window.open($("#google_link").attr('href'),'_blank')
});
La méthode jQuery ignore complètement href
:
$('#google_link').click(); // ignores href!
La méthode DOM native fait le bon choix:
$('#google_link')[0].click();
Cela fonctionne que la variable href
soit une URL, un fragment (par exemple, #blah
) ou même un javascript:
.
Si vous utilisez jQuery et le DOM natif, vous pouvez cliquer sur l'ancre.
// insert an <a> into document and click it **natively**
// (.get(0) returns the DOM element)
$('<a id="fred99" />').attr('href', '#david').attr('target', '_blank')
.text('LINK').appendTo('body').get(0).click();
// now we've clicked, tidy up
$('#fred99').remove();
Utilisez click ()
$("#google_link_proxy").click(
function(){
$("#google_link").click();
}
);
fireEvent and observe ne fait pas partie de l'API jQuery
Assurez-vous que votre code jQuery est placé dans un bloc ready comme suit.
$(document).ready(function(){/* your code here */});
Cela garantit que les scripts sont déclenchés après tout le contenu et les images sont chargés.
Cela peut être fait sans jQuery:
document.querySelector('#google_link').click()