Javascript / Jquery:为跨对象分配新文本时出现奇怪的行为

时间:2018-08-16 14:16:10

标签: javascript jquery html laravel laravel-blade

这让我发疯。这是Laravel刀片模板的一部分,但我不确定是否相关。

上下文

我有可变的javascript代码,并根据事件的参加者数量在服务器端进行呈现。具有价格信息等的重复字段数被重复n次。

我有一些基于用户输入的动态更新,这些输入尝试更改2个span对象:

  1. 默认机票价格(跨度ID:$("#tcost"+n),其中n是1-5的数字)
  2. 小计(考虑所有折扣)(span ID:$("#final"+n)

奇怪的行为

我已验证我可以使用以下命令访问两个跨度中包含的文本/ html:

    tc = document.getElementById('tcost'+n)
    fc = document.getElementById('final'+n)

当我尝试更改值时,我都尝试了两种方法:

    tc.innerHTML = 'whatever';  // setting fc.innerHTML didn't change it
    $('#final'+n).text('whatever');
    blah = $('#final'+n).text();

在这两种情况下,tc值都会改变。但是,当我尝试使用任一格式更改"final"+n中的值时,它在屏幕上都不会更改。

但是,当我console.log(blah)看到正确的值时。

关于上述任何一种将跨度文本设置为某些内容的方法为何会注册为设置但不显示的情况,我是否缺少一些深奥的东西?

1 个答案:

答案 0 :(得分:0)

在制作最小,完整,可验证的示例的过程中,我发现了问题。 抱歉。

答案是我有一个函数,可以在事实恢复为原先的值后将其更改为原来的值,因此它似乎没有变化。 gh。