我在以下
HTML页面中有一个脚本:
<script id="scriptid" type="text/html"> <div id="insidedivid"> ... html code ... </div> </script>
我能够使用$(“#scriptid”)获取HTMLScriptElement,但是我无法获得ID为“insidedivid”的底层div对象.这样做的方法是什么?
解决方法
这是不可能的;浏览器不会处理< script>内的HTML内容标签作为DOM的一部分.当您检索< script>的内容时标记为$(‘#idhere’).html(),你得到一个字符串结果.
为了回答特洛伊的问题,他最有可能在< head>中包含模板.他的文档,所以他最终可以在浏览器端动态呈现内容.但是,如果是这种情况,OP应使用与text / html不同的MIME类型.您应该使用未知的MIME类型,例如text / templates – 使用text / html会混淆内容的用途.
我猜你试图进入< script>的原因标记和抓取div是因为您在单个< script>中构建了较小的子模板.标签.那些较小的模板应该放在他们自己的< script>< / script>中.标签而不是包含在一个大的< script>< / script>中标签对.
所以,而不是:
<script type="text/template" id="big_template"> <div id="sub_template_1"> <span>hello world 1!</span> </div> <div id="sub_template_2"> <span>hello world 2!</span> </div> </script>
做这个:
<script type="text/template" id="template_1"> <span>hello world 1!</span> </script> <script type="text/template" id="template_2"> <span>hello world 2!</span> </script>