こんにちは、私はアンカー要素を返す意図で機能がありますが、いくつかの問題があります。 これは私のコードです:私の関数が目的の結果を生成していません
jQuery(document).ready(function() {
var myDiv = document.querySelector('.div1').childNodes;
\t var anchor;
\t myAnchor = (function() {
\t var i = 0;
\t \t for (i = 0; i < myDiv.length; i++) {
\t \t anchor = myDiv[i];
\t \t \t
\t \t \t if (anchor.nodeName == 'a') {
\t \t \t return anchor;
\t \t \t }else{
\t \t \t return myDiv[i];
\t \t \t }
\t \t }
\t
\t })();
console.log(myAnchor);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
\t \t <div class="div1">
\t \t <p>This is the first paragraph inside the division</p>
\t \t \t <p>This is the second paragragh inside the division</p>
\t \t \t <h5>This is a h5 header</h5>
\t \t <p>This is a paragraph next to he h5 header</p>
\t \t <a href="#">justklick</a>
\t \t </div> \t \t
\t \t </nav>
誰かが私は私の目的を達成できる方法を教えてくださいする必要があります。私は実際にdivの祖先としてアンカーにアクセスしたかったのです。
私の質問をより明確にする。私はjQueryが簡単にできることを理解しています。しかし、私の意図は、class = div1のdivである親要素を反復することです。結果をアンカーに設定します。私の関数がアンカータグを返すことを保証するために、アンカーがaタグと等しいかどうかをチェックするif文を使用しました。関数shoukd return。私は、jQueryの準備ができている関数は、純粋にDOMを準備するためのものですjavascriptを使用するつもりです。 さん、私は正しいことをやっていますか?
else節にmyDiv [i]を返さないでください。 – Phylogenesis
'$( '。div1 a')'は、div1の中のすべてのアンカーを返します...あなたが探しているものか、あなたの質問を誤解しましたか? – LinkinTED
ありがとうございます。私は実際に木を横切りたいと思っています。つまり、私はdivのすべての子要素を反復処理するために関数を使用しています。 ifステートメントを使用してアンカータグが繰り返しで見つかったかどうかを確認します。だから私は関数を返すし、何もしません。アンカーが見つかった場合は – pedroyanky