2011-06-13 82 views
0

我有一個#pdfcontainer,它在divs #main和#pdfmain中。我使用的是可變的,因爲我使用同一div多次:jQuery:從變量內部的選擇器獲取ID

var $pdfcontainer = $('#main #pdfmain #pdfcontainer'); 

的#pdfcontainer我有#DELETE,我想訪問因各種原因裏面。那麼如何使用變量來獲取它,而不必再次輸入整個$('#main ...')?我不只是想使用選擇器$('#delete'),因爲在我的網站上它的速度要慢很多。

Thnx已經!

  • 安蒂
+3

你都知道,你**不要**使用相同的「*標識*」不止一次,對不對? – ifaour 2011-06-13 07:03:31

+0

*「我不只是想使用選擇器$('#delete'),因爲在我的網站上它的速度要慢很多。」*這對我來說根本沒有意義。 jQuery的選擇器引擎通常始於選擇器的最右邊部分,因此它應該首先查找'#delete'作爲第一步*(然後檢查以確保它具有正確的血統)。你的網站是什麼讓自己查找身份證比看起來更慢,然後走上血統? – 2011-06-13 07:06:53

+2

@ifaour:不應該,***不能***。 :-) – 2011-06-13 07:07:11

回答

1

指定$pdfcontainer爲背景,以你的選擇是這樣的:

$("#delete", $pdfcontainer) 

請確保您有唯一的ID只有一個項目,例如,你應該有ID #delete只分配給一個元素。

+0

Thnx!它的工作就像一個魅力:) – AnttiQ 2011-06-13 07:06:45

+0

@AnttiQ:不客氣:) – Sarfraz 2011-06-13 07:10:23

0

$($pdfcontainer + " #delete")應該工作,如果你聲明的變量作爲字符串var $pdfcontainer = "#id #id2 #id3";。使用變量代替實際的字符串並不意味着您不能向字符串添加更多內容。

0
$pdfcontainer.find('#delete'); 
0

您可以使用pdfcontainer.find("#delete) 享受!

0

試試這個..

$pdfcontainer.find('#delete'); 
+0

我GOOGLE了一下,幾個網站說這個.find比使用上下文更快。這是真的? – AnttiQ 2011-06-13 07:30:13

+0

@AnttiQ:'$(「#delete」,$ pdfcontainer)'運行一些測試,最終轉換爲'$ pdfcontainer.find('#delete')',所以是的。 – user113716 2011-06-13 07:42:39