Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery-从元素保存html并将其还原_Jquery_Css - Fatal编程技术网

JQuery-从元素保存html并将其还原

JQuery-从元素保存html并将其还原,jquery,css,Jquery,Css,我试图替换按钮的文本,同时保持其大小。 一切似乎都很好,但不幸的是,当恢复其原始文本时 这似乎占据了更多的空间 HTML JQ 是什么导致了这个问题?我怎样才能解决这个问题? 谢谢如果您使用$(bt).css('width','auto').html(bt_-ori),它似乎可以工作问题在于jQuery width()方法 默认情况下,jQuery width()方法将宽度四舍五入。在此上下文中,bttn元素的实际with为“236.109375px” 当我们使用jquery得到这个宽度时,它

我试图替换按钮的文本,同时保持其大小。 一切似乎都很好,但不幸的是,当恢复其原始文本时 这似乎占据了更多的空间

HTML

JQ

是什么导致了这个问题?我怎样才能解决这个问题?
谢谢

如果您使用
$(bt).css('width','auto').html(bt_-ori),它似乎可以工作

问题在于jQuery width()方法

默认情况下,jQuery width()方法将宽度四舍五入。在此上下文中,bttn元素的实际with为“236.109375px”

当我们使用jquery得到这个宽度时,它将四舍五入到“236px”

因此,我们必须在css上添加宽度237px,如下所示

width: 237px;
我们需要从jquery中删除width()

$('.bttn').on('click', function()
{
    var bt = $('#form-1').find('.wt');
    var bt_ori = $(bt).html().trim();
    var bt_wait = $(bt).html('WAITING..');

    setTimeout(function() 
    {
       $(bt).html(bt_ori);
    }, 3000);
});

没有看到问题…我错过了什么?Label元素在dev中还原时不更改大小tools@Paulie_D-你看到我的例子了吗?是的……没有如上所述的变化。@Paulie_D-使用firefox和IE查看问题你可能想在你的问题中提到这一点。我使用的是Chrome版本38.0.2125.101 m(64位)BTWIn,这种方式是正确的!但是我不明白为什么它会占用更多的空间。谢谢我不确定,但这和填充(2x15px)有关
bt_wd
的计算结果为206,但如果查看DOM,则应用于
bt_wait
的宽度为
width:236px。无论如何,
$(bt).css('width','auto')
将其设置回默认值。
$('.bttn').on('click', function()
{
   var bt = $('#form-1').find('.wt');
   var bt_wd = $(bt).width();
   var bt_ori = $(bt).html().trim();
   var bt_wait = $(bt).html('WAITING..').width(bt_wd);

   setTimeout(function() 
   {
       $(bt).width(bt_wd).html(bt_ori);
   }, 3000);
});
width: 237px;
$('.bttn').on('click', function()
{
    var bt = $('#form-1').find('.wt');
    var bt_ori = $(bt).html().trim();
    var bt_wait = $(bt).html('WAITING..');

    setTimeout(function() 
    {
       $(bt).html(bt_ori);
    }, 3000);
});