2011-07-28 37 views
0

我經常發現自己獲得各種屬性,例如元素或類的id,然後選擇該元素並執行某些操作。獲取id然後選擇該元素 - jQuery

我現在例如做的是:

var id = $(this).closest(".item").attr('id'); 
    $('#'+id).hide(); 

以「#」和包括ID做到這一點的最好方法是什麼?有沒有辦法將這些行動聯繫起來?

謝謝!

回答

2

如果你也想在年底的ID,你可以把它們連這樣的:

var id = $(this).closest(".item").hide().attr('id'); 
+0

謝謝,這是做到了。 – dzm

1

如果你再怎麼回事操縱元素如你在上面做的,更靈活的方法是:

var item = $(this).closest(".item"); 
item.hide(); 
+0

謝謝,這是不錯的! – dzm

0

該方法沒有問題。你可能可以將它縮成一行,但爲什麼?

var id = $(this).closest(".item").hide().attr('id'); 
0

是否有一個原因,你不能只是做

$(this).closest(".item").hide(); 

獲取ID,然後進行另一個jQuery的選擇將是比這更慢。

0

您正在選擇該項目以獲取該ID。所有你需要做的就是hide()它有:

$(this).closest(".item").hide() 
0

只是好奇,無論是使用$(本).closest(「項目‘),而不選擇.attr(’ID」)會的工作,那麼就隱藏找到的最接近的元素。這可以節省最後一行代碼,將其滾動到一行代碼中。 jQuery命令是可鏈接的,因此您應該能夠將隱藏命令從相同的代碼行中延伸出來,而.closest()函數將返回所需的元素。

例如:

$(this).closest(".item").hide(); 
0

我如果我理解正確的話你不能確定,但​​你要找的東西是這樣的:

$(本).closest( 「項目」 )。隱藏();

下面是一個例子http://jsfiddle.net/alexkey/UtcKk/