【问题标题】:How to replace text of each DOM node using jQuery?如何使用 jQuery 替换每个 DOM 节点的文本?
【发布时间】:2022-01-12 13:30:51
【问题描述】:

我想知道如何使用 jQuery 解析 DOM 并修改每个节点的文本以翻译我的网站页面。 使用 jQuery 是一种约束,而不是一种选择 :)

更准确地说,我想通过 DOM,定位每个包含文本的节点,使用 API 翻译它,并用翻译后的文本替换原始文本。

即使看起来很简单,我也感到有些失落。 感谢您的帮助!

【问题讨论】:

    标签: javascript jquery dom


    【解决方案1】:

    如果我理解正确,你会得到类似的东西

    // use $('*') instead if you really want to use jQuery
    Array.from(document.querySelectorAll('*')).forEach(async _ => {
      _.textContent = await myTranslationApi(_.textContent);
    });
    

    但是,我不得不说它 a) 使用错误的语言呈现页面然后替换它会很慢(这也可能导致未翻译文本的闪烁)并且 b) 简单地馈送可能容易出错textContent 到你的翻译 API 中(你可能想搜索翻译键并且只替换它们)。

    【讨论】:

    • 非常感谢,我会试试这个。老实说,这个问题比我的问题要复杂一些。我要求 jQuery 解决方案,但我正在使用 PHPQuery 进行服务器端翻译,我的公司将其用作一种模板引擎。我讨厌它:D 而且,我只需要翻译我们发送给客户的电子邮件,我调用我们的数据库进行注册翻译,并将新的 API 调用,然后将它们存储到数据库中。再次感谢,如果你的回答解决了我会提到的问题:)
    猜你喜欢
    • 2011-07-05
    • 2018-03-25
    • 2010-12-02
    • 1970-01-01
    • 2010-11-17
    • 2011-08-25
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多