Je suis un débutant quand il s'agit de javascript/jquery
alors si cette question vous semble idiote, veuillez me pardonner.
En passant par ce tutoriel J'ai essayé d'écrire en javascript console
les valeurs de certaines variables des fonctions afin de mieux comprendre le fonctionnement de la fonction.
$(document).ready(function(){
$("div.post h2 a").click(function () {
var a = $(this),
href = a.attr('href'),
content = a.parent().next();
console.log('a='+a);
console.log('a.get(0)='+a.get(0));
console.log('a parent='+a.parent());
console.log('a parent.get(0)='+a.parent().get(0));
console.log("href="+href);
console.log('content='+content);
content.load(href + " #content");
return false;
});
J'ai légèrement modifié le html
<div class="post">
<h2 id="h21"><a href="other/mypage.html">My Page</a></h2>
<div class="content">
Teaser text1...
</div>
</div>
<div class="post">
<h2 id="h22"><a href="other/myotherpage.html">My Other Page</a></h2>
<div class="content">
Teaser text2...
</div>
</div>
});
Quand je clique sur le premier lien, j'obtiens cette sortie de journal de console
a=[object Object]
a.get(0)=file:///home/me/dev/misc/other/mypage.html
a parent=[object Object]
a parent.get(0)=[object HTMLHeadingElement]
href=other/mypage.html
content=[object Object]
Je pensais que le $(this)
dans la fonction serait l'élément sur lequel on a cliqué (c'est-à-dire le premier élément sur lequel on a cliqué). <a element
). Pourquoi apparaît-il sous la forme [objet Objet] ? a.get(0)
devient file:///home/me/dev/misc/other/mypage.html
De même, la variable content
être égale à la première div
(contenant le texte de l'accroche1) ? Pourquoi apparaît-il comme [objet Objet] ?