gpt4 book ai didi

javascript - 关于表单标签内的脚本标签

转载 作者:行者123 更新时间:2023-11-30 18:07:52 24 4
gpt4 key购买 nike

我在动态创建选项的选择标签中添加了一个脚本标签。该函数工作正常,但 W3C 验证器给我 4 个关于此语法的错误。如果你们能帮我找到这个问题的解决方案,那将会很有帮助。

这些是重复 2 次的 2 个错误

1. 文档类型不允许在此处使用元素“script”

2. year_option();未完成的“select”的结束标记

最佳答案

1) 唯一的标签 <select>可以有<option><optgroup>标签验证者提示因为 <script>不是其中之一——浏览器正在尽最大努力把你的无效标记变成有效的东西,所以尽管它有效,这就是你得到错误的原因,如果你真的把 <script> <select> 内的标签

2) 你的脚本标签应该在页面的底部,而不是使用 document.write要将选项标签放在那里,请在事后使用 DOM 方法将选项添加到选择元素

<select name="select-box"></select>
<!-- ...rest of page... -->
<script src="external-script.js"></script>

/* contents of external-script.js */
var select_box = document.querySelector("select[name=select-box]"),
bob_opt = document.createElement("option"),
doug_opt = document.createElement("option");

bob_opt.value = "Bob";
doug_opt.value = "Doug";
bob_opt.appendChild(document.createTextNode("Bob"));
doug_opt.appendChild(document.createTextNode("Doug"));

select_box.appendChild(bob_opt);
select_box.appendChild(doug_opt);

有更快、更整洁、更精细或更灵活的方法来做到这一点,但这比类似的方法更接近“正确的方法”:

<select>
<script>document.write("<option value=\"" + i + "\">one</option>");</script>
</select>

或者您目前可能拥有的任何东西。如果不为此目的使用/编写模板库,JS 并不意味着要像那样进行模板化。

关于javascript - 关于表单标签内的脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com