18910140161

JavaScript-jQuery 3.6.0无法解析模板标记-堆栈溢出

顺晟科技

2022-10-18 13:28:07

84

前几天我在做一个使用jQuery 3.6.0的项目,但我发现它不能解析<template>标记.

请参考下面的示例。

const temp = $("#main");
console.log(temp.find("div").html()); // this isn't working


const temp2 = $("#main2");
console.log(temp2.find("div").html()); // this is working
<代码><;script SRC=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js ”>;<;/script>;<;模板ID=“ main ”>;<;DIV类=“第一”>;<;span>;你好<;/span>;<;/DIV>;<;/模板>;<;DIV ID=“ main2 ” style=“ display:none;”>;<;DIV类=“第一”>;<;span>;你好<;/span>;<;/DIV>;<;/DIV>;

我做错了

什么?


顺晟科技:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <template id="main"> <div class="first"> <span>Hola</span> </div> </template> <div id="main2" style="display:none;"> <div class="first"> <span>Hola</span> </div> </div>将生成一个文档片段,其中<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <template id="main"> <div class="first"> <span>Hola</span> </div> </template> <div id="main2" style="display:none;"> <div class="first"> <span>Hola</span> </div> </div>元素的内容是。您必须使用template访问它。

所以你可以做的是<template>

但是您需要注意mdn:$(temp[0].content).find('div').html():内容模板元素

<块引用>

但是,HtmlTemplateElement有一个template属性,该属性是一个只读的DocumentFragment,其中包含模板所表示的DOM子树。请注意,直接使用内容的值可能会导致意外行为,请参阅下面的“避免DocumentFragment陷阱”部分。

content
<代码><;script SRC=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js ”>;<;/script>;<;模板ID=“ main ”>;<;DIV类=“第一”>;<;span>;你好<;/span>;<;/DIV>;<;/模板>;<;DIV ID=“ main2 ” style=“ display:none;”>;<;DIV类=“第一”>;<;span>;你好<;/span>;<;/DIV>;<;/DIV>;

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航