无法在jQuery中找到DOM元素

时间:2014-06-20 04:20:43

标签: jquery ruby-on-rails

我疯了。看看这个小提琴: http://jsfiddle.net/ndH9G/4/

这是我正在研究的Rails网站的相关代码(用于幻想足球)。每次更改“类型”选择时,我想将“方向”选择重置为“选择”以减少填写字段后类型发生变化时发生的难度。

除非我不能。

无论我做什么,我都无法访问那个愚蠢的“Direction”选择。如果你看,你会看到这两行:

$('div', location).next('.player-trade-fields').hide();
$('div', location).next('.terms-field').show();

让所有人感到震惊:那些工作完全按照他们应该没有问题的方式进行。但是当我尝试访问与这两个字段处于相同DOM级别的“Direction”选择时:

$('div', location).next('.trade-direction')

我一无所获。我在那里有警报,告诉我是否返回了一个值,而且我所做的一切都没有返回值。我不明白。我不明白jQuery怎么会找不到它。我试过了:

location.next
selectBox.next
$('div', selectBox).next
$('div', selectBox.parent()).next
$('div', selectBox.parent().parent()).next
$('div', selectBox.parent().parent().parent()).next
$('div', selectBox.parent().parent().parent().parent()).next

没有任何作用。无论我做什么,我都无法做出选择,经过2个小时的时间完全浪费在我所能说的一些事情上,应该没有问题,就像同一级别的字段的代码一样,我放弃了

请告诉我任何我忽略的显而易见的事情。

1 个答案:

答案 0 :(得分:2)

想出来。我改成了:

$('div', location).find('.trade-direction')

当通过ajax在页面上添加此表单的多个实例时,它的工作方式完全正确并且不会干扰。