1

我有一个包含许多表格的 Rails 表单。其中一个表有一个感兴趣的下拉元素,可以通过其 id 访问,如下所示:

$('#contract_contract_phases_attributes_0_ngl_price_term')

我正在根据其中选择的值显示/隐藏另一个元素,这没问题。麻烦是:元素的表头行有我需要显示/隐藏的“th”元素。我可以像这样访问父表元素:

$('#contract_contract_phases_attributes_0_ngl_price_term').closest('table')

但是,我试图通过给它一个“price_term”类来定位需要隐藏的标题元素(th)。所以我试图进一步缩小最接近这个元素的元素,如下所示:

$('#contract_contract_phases_attributes_0_ngl_price_term').closest('table th.price_term')

但是,这不起作用。有没有办法可以定位这个标题元素?

4

2 回答 2

2

.closest()只查看父母、祖父母、曾祖父母等 - 仅在 DOM 中向上。

.find()只看孩子,孙子等 - 它通过 DOM 向下。

因此,您想上 ( .closest()) 到表,下 ( .find()) 到 th.price_term:

$('#contract_contract_phases_attributes_0_ngl_price_term')
    .closest('table')
    .find('th.price_term')
于 2012-02-09T00:57:00.670 回答
1

这行得通吗?

$('#contract_contract_phases_attributes_0_ngl_price_term').closest('table').find('th.price_term')
于 2012-02-09T01:00:55.573 回答