2012-11-15 47 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!谢谢。 –