【发布时间】:2012-01-02 11:09:54
【问题描述】:
这是我遇到的一个非常奇怪的问题,我不确定要在此处粘贴什么代码,因为代码很多,所以我想我真的在寻找理论上的解决方案。
基本上,我使用 jQuery 的 replaceWith() 在用户登录后将内容添加到框中。它添加的代码与 php 页面吐出的代码完全相同(检查用户是否已登录)。这样做是为了当他们登录时,jQuery 添加他们的内容,但如果他们刷新或移动到网站上的另一个页面,它应该完全相同。
这主要是可行的,除了一些表单元素在 jQuery 替换内容后看起来不对齐。刷新页面后,它们会按照应有的方式对齐。
任何想法可能会发生什么?我浏览了 Chrome 的开发工具,查看了这些元素及其周围元素的 CSS 边距以及边距/填充等完全相同,但在刷新之前显示很奇怪!!
这让我发疯了 - 以前有人见过这种行为吗?
干杯,
斯科特
屏幕截图可能会有所帮助 -
下面是代码示例:
<?php
echo '<div id="accountpanel">
<div id="selectclientbox">
<form id="formSelectClient" action="" onsubmit="return false;">
<select id="selectClient">
<option>Client 1</option>
<option>Client 2</option>
<option>Client 3</option>
<option>Client 4</option>
</select>
<select id="selectAttribute">
<option>Change ID</option>
<option>Change Userame</option>
<option>Change Password</option>
<option>Change Name</option>
<option>Change Email Address</option>
</select>
<input id="changeDetail" class="coolbox" type="text" size="38" maxlength="128" />
<input id="updatebtn" type="button" value="update" onclick="updatedetail()" />
</form>
<form id="formUpdateClient" action="" onsubmit="return false;">
<section>
<label for="changeCurrency">Currency</label><input id="changeCurrency" class="text" type="text" maxlength="1" />
<input id="updatebtn2" type="button" value="update" onclick="updatecost()" />
</section>
</form>
</div>
</div>';
?>
<div id="accountpanel2">
</div>
<script type="text/javascript">
$('#accountpanel2').replaceWith('<div id="accountpanel2">' +
'<div id="selectclientbox">' +
'<form id="formSelectClient" action="" onsubmit="return false;">' +
'<select name="">' +
'<option>Client 1</option>' +
'<option>Client 2</option>' +
'<option>Client 3</option>' +
'<option>Client 4</option>' +
'</select>' +
'<select name="">' +
'<option>Change ID</option>' +
'<option>Change Userame</option>' +
'<option>Change Password</option>' +
'<option>Change Name</option>' +
'<option>Change Email Address</option>' +
'</select>' +
'<input id="changeDetail" class="coolbox" type="text" size="38" maxlength="128" />' +
'<input id="updatebtn" type="button" value="update" onclick="updatedetail()" />' +
'</form>' +
'<form id="formUpdateClient" action="" onsubmit="return false;">' +
'<section>' +
'<label for="changeCurrency">Currency</label><input id="changeCurrency" class="text" type="text" maxlength="1" />' +
'<input id="updatebtn2" type="button" value="update" onclick="updatecost()" />' +
'</section>' +
'</form>' +
'</div>');
</script>
【问题讨论】:
-
您是否使用任何自定义表单输入的 js?
-
我没有使用js修改整个accountPanel DIV上的fadeIn()以外的任何CSS,所以我认为这不是答案。不过还是谢谢。
-
你能链接到这个网站吗?没有链接,任何人都不太可能提供帮助。
-
不容易,因为它是一个登录系统,问题只出现在管理员帐户上:p
标签: jquery css alignment replacewith