使用jquery得到一个深度嵌套的css元素

问题描述:

我在运行一个onchange事件时遇到了一些麻烦,因为它的嵌套深度比较深。使用jquery得到一个深度嵌套的css元素

所以基本上我有一个表内的maxResultsForm的ID与另一个表内的listProductsResults的ID与listProductsSettings ID的形式...上的maxResults

我已经在select标签的ID尝试下面的选择器和许多变化没有任何成功的触发。

$("form#maxResultsForm table#listProductsResults td table#listProductsSettings td :select#maxResults").change(function()... 

有人看到我在做什么错了吗? 在此先感谢!

Ĵ

+0

http://www.artzstudio.com/2009/04/jquery-performance-rules/ – 2009-12-25 17:10:54

+0

这个构造影射你正在使用的* *多重元素** **相同​​ID。确保这是*不是这种情况。否则它只会是'$(#maxselects)'。 – BalusC 2009-12-25 17:12:32

如果你有ID只是做$('#maxResults').change(...)

+2

如果它有一个id,它必须是唯一的,并且基于id的选择器是找到它的最佳方式。 – tvanfosson 2009-12-25 15:53:31

+0

以及我在selec tagt和$('#maxResults')上有一个唯一的id。change(...)仍然因为某些原因不会触发... – anonymous 2009-12-26 00:42:24

+0

您使用的浏览器是什么? – 2009-12-26 01:34:20

$("form#maxResultsForm select#maxResults").change(function()... 

你正在让你的CSS选择器倒退。如果你有“与表内的maxResultsForm一个id为listProductsResults ID的形式”,那么你的选择是这样的:

table#listProductsResults form#maxResultsForm 

然而,正如其他的答案中提到,你不能有两个HTML页面上的元素具有相同的ID属性值,因为ID必须是唯一的。所以,如果你的<select>标签有一个ID属性,你只需要用它来选择它。

$('#maxResults').change(function(){...});