私がこのような要素を持っていることを考えると:
<p class="ELP">2/1/2013 - <a id="EL3" class="ELLink" href="/Event htms/Event.cshtml?title=Okmulgee Public Schools County Professional Day&explanation=Okmulgee Public Schools County Professional Day.&dateString=2-1-2013">City Public Schools County Professional Day</a></p>
なぜこの JavaScript/jQuery は機能するのでしょうか...:
$(".ELP").click(function (){
var stringDate = $(this).text().substring(0, 8)
console.log(stringDate)
});
Console.log の生成: 2013 年 2 月 1 日
...そして、この JavaScript/jQuery はそうではありませんか?
$(".ELLink").click(function (){
var stringDate = $(this).parentNode.text().substring(0, 8)
console.log(stringDate)
});
JavaScript エラーのため、Console.log は何も生成しません: Uncaught TypeError: Cannot call method 'text' of undefined
明らかに、正しい要素を「取得」していないことがわかりますが、なぜですか? 「a」要素の最初の親ノードは「p」要素ではありませんか? 私が理解している限り、要素の直接の親ノードに有効なcssセレクターはありません(少なくともクロスブラウザー/プラットフォーム互換性はありません)。または、それを使用するだけです。
何が表示されないのですか?