Creating an empty element with start tag vs. self closing tag

前端 未结 3 1714
一整个雨季
一整个雨季 2021-01-11 10:40

In jQuery, is there any difference between this:

$(\'
\').appendTo(\'body\');

And this:

$(\'
\').appe
3条回答
  •  抹茶落季
    2021-01-11 11:21

    The documentation says:

    When the parameter has a single tag, such as $('') or $(''), jQuery creates the element using the native JavaScript createElement() function.

    It also says:

    Tags that cannot contain elements may be quick-closed or not

    So, the form $('

    ') apparently works also, but it's undocumented. It's clear from the documentation that the intention is that a tag that needs a closing tag should either have that closing tag, or be self-closed.

    I would stick to the documented version, as that is less likely to be a victim of a breaking change in a future version.


    The jQuery library have a habit of putting as much as possible in a single function call (see the recent on addition for an example), so it's not so far fetched that they would invent something new to happen when you use a non-self-closing tag...

提交回复
热议问题