这真的很奇怪,我已经花了几个小时努力解决它,但还是无法弄清楚。
我正在使用jQuery隐藏表单上的一些元素(标记为类
基本上,用户点击编辑链接,在该链接的父级内隐藏只读项目并显示编辑项目(输入)。这个工作正常。
问题出现在来自服务器的响应中,它返回相反的情况。它找到承载表单的div,隐藏编辑版本并显示只读版本。但事实并非如此。以下是代码:
我正在使用jQuery隐藏表单上的一些元素(标记为类
.read-only
),并显示其他元素(标记为类.edit-version
)。基本上,用户点击编辑链接,在该链接的父级内隐藏只读项目并显示编辑项目(输入)。这个工作正常。
问题出现在来自服务器的响应中,它返回相反的情况。它找到承载表单的div,隐藏编辑版本并显示只读版本。但事实并非如此。以下是代码:
host = $('#employee-card-49');
$('.edit-version', host).hide();
$('.read-only', host).show();
我已经确认正确的div(#employee-card-49
)被找到,是正确的和页面上唯一拥有该id的项目。
我已经验证$('.edit-version', host).length
是正确的。它返回3,表示找到了三个元素。
我已经验证$('.edit-version', host)
返回的每个项目都是正确的。我可以获取它们的属性。
没有javascript错误出现,但是hide()
和show()
调用根本不修改显示属性。我甚至尝试过调用css('display', 'none')
也无济于事。
如果我改变 $('.edit-version').hide()
调用,它可以正常工作,但这会影响到我不想影响的页面上的其他div。
希望能得到任何帮助。
;
不会导致任何错误。 - Naftali$(' .edit-version ')
调用中删除host
,它将正常工作。但是,这将影响到其他我不想影响的div。 - Tim Sullivan