代码之家  ›  专栏  ›  技术社区  ›  alexia Greg Guida

如何更轻松地将“+=与jQuery选择器一起使用?

  •  1
  • alexia Greg Guida  · 技术社区  · 14 年前

    我从JS Bin中获取了以下示例:

    HTML格式

    <p id='js'>Hello, World!</p>`
    

    JavaScript

    document.getElementById('js').innerHTML += ' – this was inserted using JavaScript';`
    

    现在,我想对jQuery做同样的操作。因为我找不到使用的方法 += 对于jQuery选择器(否则我不会问这个问题),有一条很长的路要走:

    var js = $('#js').html() + ' – this was inserted using JavaScript';
    $('#js').html(js);
    

    我使用jQuery是因为它的语法更短更简单。但这两个代码的长度几乎相同。

    这不起作用:

    $('#js').innerHTML += ' – this was inserted using JavaScript';
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   T.J. Crowder    14 年前

    使用jQuery,您可以使用 append 相反。

    你的 $('#js').innerHTML += ' – this was inserted using JavaScript'; 会和一个 [0] ,但是,例如:

    $('#js')[0].innerHTML += ' – this was inserted using JavaScript';
    //      ^^^--- here
    

    …因为您可以通过这种方式访问原始的DOM元素。但是通过 innerHTML 因为它使浏览器工作起来非常困难:首先它必须循环遍历其内部的DOM等价物,将其序列化为HTML字符串,然后在完成 += . (如果是后者 真的,真的很快 因为将HTML呈现到它们的内部结构中 浏览器的功能 而且它们对其进行了高度优化,但前者可能根本不快。)

        2
  •  3
  •   AndreKR    14 年前
    $('#js').append(' – this was inserted using JavaScript');