2011-06-15 24 views
7

スパン要素のグループから、空でないスパンの最初のオカレンスの値を取得したいとします。空でない最初のスパン要素を選択する

私は、このHTML

<span class="map_multi_latitude"></span> 
<span class="map_multi_longitude"></span> 
<span class="map_multi_latitude">30.201998</span> 
<span class="map_multi_longitude">120.990876</span> 

は私が前にこのjqueryのを持っていますが、私はそのような「テキストが空ではない最初のスパン」という仕事にしたい:事前に

initialLat = $('span.map_multi_latitude:first').text(); 
initialLng = $('span.map_multi_longitude:first').text(); 

感謝!

答えて

13

これは動作します:

$('span:not(:empty):first').text() 

またはこれら:

$('span:not(:empty):eq(0)').text() 
$('span:not(:empty)').eq(0).text() 
$('span:not(:empty)').slice(0,1).text() 
$('span:not(:empty)').first().text() 
+0

これが空ではありません複数のスパンがある場合にのみ動作するように表示されます。空でないスパンが1つしかない場合、これは失敗します。 – yretuta

+0

@ Ygam:空ではない1つのスパンで正常に動作します。空の意味は本当に空です。つまり、空白はありません。 – user113716

+1

カスタムフィルタ関数を使用すると、何もないか空白だけを含む要素を捨てることができます: '$( 'span')filter(function(){return $(this).text()。trim()})。 ().text() ' – CoDEmanX

2
initialLat = $('span.map_multi_latitude:not(:empty):first').text(); 
initialLng = $('span.map_multi_longitude:not(:empty):first').text(); 
+0

これは空でない複数のスパンがある場合にのみ動作するように見えます。空でないスパンが1つしかない場合、これは失敗します – yretuta

+0

要素数に関係なく動作します。それをチェックするhttp://jsfiddle.net/2B3PU/ –

0
var firstMapMultiLatitude; 
$('.map_multi_latitude').each(function (index, element) { 
    if ($(element).val() != '') { 
     firstMapMultiLatitude = $(element).val(); 
     alert($(element).val()); 
     return; 
    } 
}); 
関連する問題