2009-12-25 65 views
1

我在運行一個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

回答

5

如果你有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

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

你正在讓你的CSS選擇器倒退。如果你有「與表內的maxResultsForm一個id爲listProductsResults ID的形式」,那麼你的選擇是這樣的:

table#listProductsResults form#maxResultsForm 

然而,正如其他的答案中提到,你不能有兩個HTML頁面上的元素具有相同的ID屬性值,因爲ID必須是唯一的。所以,如果你的<select>標籤有一個ID屬性,你只需要用它來選擇它。

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