2011-06-15 30 views
7

Từ một nhóm các phần tử nhịp, tôi muốn lấy giá trị của lần xuất hiện đầu tiên của khoảng không trống.Chọn phần tử nhịp đầu tiên không rỗng

Tôi có HTML này

<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> 

Tôi có Jquery này trước đây nhưng tôi muốn làm cho nó hoạt động như vậy "nhịp đầu tiên có văn bản không phải là trống rỗng":

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

cảm ơn trước !

Trả lời

13

này sẽ làm việc:

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

hay này:

$('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

này dường như chỉ có tác dụng nếu có nhiều hơn một nhịp mà không có sản phẩm nào. nếu chỉ có một khoảng không trống, điều này không thành công – yretuta

+0

@Ygam: Hoạt động tốt với một khoảng không trống. Hãy nhận biết rằng rỗng có nghĩa là thực sự trống rỗng. Nói cách khác, không có khoảng trắng. – user113716

+1

Một chức năng lọc tùy chỉnh có thể được sử dụng để vứt bỏ các phần tử không chứa gì hoặc chỉ khoảng trắng: '$ ('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

điều này dường như chỉ hoạt động nếu có nhiều hơn một nhịp không rỗng. nếu chỉ có một khoảng không trống, điều này không thành công – yretuta

+0

Nó sẽ hoạt động bất kể số lượng phần tử. Kiểm tra nó http://jsfiddle.net/2B3PU/ –

0
var firstMapMultiLatitude; 
$('.map_multi_latitude').each(function (index, element) { 
    if ($(element).val() != '') { 
     firstMapMultiLatitude = $(element).val(); 
     alert($(element).val()); 
     return; 
    } 
}); 
Các vấn đề liên quan