2011-06-13 84 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