You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含script标签的div封装进li后追加到指定ul末尾?

解决方法:给div包裹li后再追加到ul

我看到你的问题啦——你当前的代码是直接把包含script的div追加到了footer-menu这个ul里,但漏掉了最关键的一步:把div放进li标签中,所以没法生成你想要的<li><div><script></script></div></li>结构。咱们只需要在代码里加几步就能搞定:

修正后的JavaScript代码

(function() { 
  // 创建script标签并设置属性
  var scriptTag = document.createElement('script');
  scriptTag.type="text/javascript";
  scriptTag.async=true;
  scriptTag.crossOrigin=true;
  scriptTag.src="some-source";

  // 创建div标签并设置id,把script放进去
  var divTag = document.createElement('div');
  divTag.id='somevalue';
  divTag.append(scriptTag);

  // 新增:创建li标签,把div放进去
  var liTag = document.createElement('li');
  liTag.append(divTag);

  // 获取目标ul,把li追加到末尾
  var ulList = document.getElementById('footer-menu');
  ulList.append(liTag);
})(); // 补全自执行函数的调用括号,原来的代码只定义了函数但没执行

对应的HTML代码(无需改动)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="menu" id="footer-menu">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
</ul>

改动说明

  • 新增了创建li元素的步骤,把之前的div嵌套进这个li里面
  • 最后把li(而不是直接把div)追加到目标ul的末尾
  • 补全了自执行函数的调用括号(),确保代码能正常执行

这样运行后,生成的DOM结构就和你期望的完全一致啦:

<ul class="menu" id="footer-menu">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li><div id='somevalue'><script async="async" crossorigin type="text/javascript" src="some-source"></script></div></li>
</ul>

内容的提问来源于stack exchange,提问作者usernameabc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:39:23