Javascript jQuery-无法在变量中存储少量html元素

Javascript jQuery-无法在变量中存储少量html元素,javascript,jquery,Javascript,Jquery,大家好, 我在这里有点困惑,试图将几个html元素存储到一个变量中。 但是当我试图打印出变量的内容时,一些元素没有显示出来。这是某种魔法吗:)或者我到底做错了什么 这会导致我的其他函数出现问题,这些函数试图在变量中查找某些元素 var template = $(" <div class='item'><span id='item_stats_info'> <div id='item_name'> </div> </span> </

大家好,

我在这里有点困惑,试图将几个html元素存储到一个变量中。 但是当我试图打印出变量的内容时,一些元素没有显示出来。这是某种魔法吗:)或者我到底做错了什么

这会导致我的其他函数出现问题,这些函数试图在变量中查找某些元素

var template = $(" <div class='item'><span id='item_stats_info'> <div id='item_name'> </div> </span> </div>");

console.log(template.html());
var模板=$(“”);
log(template.html());
结果:

<span id="item_stats_info"> <div id="item_name"> </div> </span> 

你们能告诉我在变量中存储html元素的最佳方法是什么吗

提前完成任务, Alex

jQuery的.html()方法返回元素内部的html,因为您需要获取外部html,您可以尝试将其包装到另一个div中:

var template = $("<div> <div class='item'><span id='item_stats_info'> <div id='item_name'> </div> </span> </div> </div>");

console.log(template.html());
var模板=$(“”);
log(template.html());

使用此选项可以获取完整的html,而不是内部html

console.log(template.prop('outerHTML'));

您正在
模板中存储单个元素。它碰巧有一些后代
.html()
返回元素的内部html(具体地说,最初存储在
模板
…中的单个元素,它是一个带有div的span)将模板存储为纯文本,不是包含元素的jquery对象。控制台输出在您的情况下是正确的,因为它显示了您创建的元素的内部html。如果你向我们解释你想要实现什么,有人会告诉你该做什么。看起来你是对的。所以我的函数在变量中找不到“item”类肯定是有问题的。你的代码中没有问题,只是你要求的是内部HTML,而不是外部div本身。