首页 > 解决方案 > 我可以使用 jQuery 创建一个 DOM 元素而不将它放在 DOM 中吗?

问题描述

我有很多地方不断向我的字符串添加标记,最终由 jQuery 输出append到容器。我的问题是 - 我可以在没有实际存在的情况下伪造这个标记在 DOM 中,以便hasClass在项目上执行操作吗?

标签: javascriptjquery

解决方案


是的,如果您将 HTML 字符串传递给 jQuery,该元素(或多个元素)将在 jQuery 对象中创建,然后可以稍后将其放入 DOM 中:

const $div = $('<div>someDiv</div>');
$div.addClass('foo');
console.log($div.hasClass('foo'));
$('body').append($div);
.foo {
  background-color: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


推荐阅读