【问题标题】:Replace html tag with new tag content用新的标签内容替换 html 标签
【发布时间】:2022-12-08 04:33:00
【问题描述】:

页面的 html 标签没有 lang=en 属性,我试图将它添加到 html 标签,下面是我做的代码,但它替换了整个 html 内容,而不是仅仅将 lang=en 添加到 html。

window.addEventListener('load', function () {
    alert("It's loaded!")
    const cond = document.getElementsByTagName('html')[0]|| false;
    console.log(cond)
     if (cond) {
          $('html').each(function() {
              $(this).replaceWith($('<html lang="en">'));
          });
    }});

我也尝试了下面的代码,但它也不起作用,基本上它获取 html 内容并附加新的 html 标签和内容。

const htmlContent = $( "html" ).html();
    if (cond) {
        $('html').replaceWith('<html lang="en">' + htmlContent +  '</html>');
    }

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    使用 attr 方法。

    $(this).attr("lang", "en");
    

    【讨论】:

      【解决方案2】:

      这不是这样做的最佳方式,因为它可能导致事件分离或其他性能问题。这样做会更安全:

      $('html').attr('lang', 'en')`
      

      这样你只添加一个属性,没有别的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-07
        • 2011-11-03
        • 2019-03-22
        • 2021-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-27
        相关资源
        最近更新 更多