2011-11-25 11 views
0

jqueryを使用して配列に値を渡す前に要素が存在するかどうかを調べる方法はありますか?通過して、項目のリストから値を格納し、そのhrefの値が何であるかを私に語っ値が配列に渡される前に要素が存在するかどうかを確認するJquery

hyperlinks = new Array(); 
    $(slideshowThumbs).find('.caption').find('a:first').each(function() { 
      hyperlinks.push($(this).attr('href')); 
    }); 

たとえば私は、次のコードを持っています。

私の瞬間の問題は、私のリストの項目2にリンクが含まれていないと、位置2で渡される値が実際には項目2の値ではなく項目3の値であるということです。

キャプションコンテナの最初の内側にaがあるかどうかを確認します。また、後でチェックを行うことができる場所に配列に値を渡していない場合に表示されます。私のリストの項目のリストと同じ配列の項目のリストを保持するために。

アイデア?

感謝

EDIT:彼らはストレートオフ動作しませんでしたが、彼らは私の脳は、私がやろうとしていたものと噛み合うように手に入れたご提案のための おかげで、 - 、寒さではないコーディング常に良い組み合わせ。

hyperlinks = new Array(); 
$(slideshowThumbs).find('.caption').each(function() { 
     var elemExists = $(this).find('a:first'); 
     if (elemExists) { 
      hyperlinks.push($(this).find('a:first').attr('href')); 
     } 
     else { 
      hyperlinks.push('noLink'); 
     } 
    }); 

おかげで再び次のようにいずれにせよ、私の解決策では

でした!私はあなたがこの

if ($(this).attr('href') != '') 
    hyperlinks.push($(this).attr('href')); 
else 
    hyperlinks.push("no_link");

答えて

1

はこれを試してみてください。

hyperlinks = new Array(); 
    $(slideshowThumbs).find('.caption').find('a:first').each(function() { 
      if ($(this).attr('href')) { 
       // attribute exists 
       hyperlinks.push($(this).attr('href')); 
      } 
    }); 
0

ような何かを探しているのだと思い

関連する問題