2012-11-15 32 views
1

我有多個共享類的元素。在任何時候,其中一個可能是可見的。我可以確定其中一個是可見的,但我如何得到它的ID?獲取過濾元素的ID

n是被點擊的元素的ID,1-4。我想查看n是否匹配可見元素的ID,以便在匹配元素已經可見時不採取任何操作。如果您已經點擊了其中的一個,並使可見的東西,再次點擊應該什麼都不做。因此,c中的哪個元素是可見元素 - 需要它是ID。

function manageVisible(n) { 
     var x = n, i, c; 
     c = $('.glowSafe:visible'); 
     if(c.length !=0){ 
      c.fadeOut(300).hide(); 
      $('#glowSafe' + x).fadeIn(800); 
     } 
     $('#glowSafe' + x).fadeIn(800); 
    } 

回答

0

若要獲取類的可視元素的ID:

var id = $('.glowSafe:visible').attr("id"); 

,或者因爲你已經在c可變元素:

c = $('.glowSafe:visible'); 
var id = c.attr("id"); 
1
var theId = $('.glowSafe:visible').prop('id'); // jQuery >= 1.6 
var theId = $('.glowSafe:visible').attr('id'); // jQuery < 1.6 

現在你可以使用上面的:

if (n !== theId) 
    ... 
+1

儘管鼓勵使用道具,但您的陳述並非完全正確。 「id」始終是一個屬性,因此應該這樣訪問。 'attr()'不被棄用,應該相應地使用它。 http://api.jquery.com/prop/做得很好,顯示了差異 –

+0

@Adrian。我記得我曾經看到jQuery文檔使用道具爲'ID',無論如何這是完全有效的,(並且極其不重要...) – gdoron

+0

我昨天在做這件事時忽略了身份證上的引號...... doh!謝謝。 –