Javascript HTML表单元素与输入元素类型

Javascript HTML表单元素与输入元素类型,javascript,html,Javascript,Html,HTML有13个表单元素,输入元素有23种不同的类型我的问题是,使表单元素成为输入类型或其自身元素的原因是什么? 起初我认为这可能是因为所有的输入类型都只是input type=text上的变体,但当您将复选框和收音机混入其中时,这就没有意义了。也许它们作为自己的表单元素会更好 <input type="checkbox" name="check" value="yes"> // Would become <checkbox name="check" value="yes"&g

HTML有13个表单元素,输入元素有23种不同的类型我的问题是,使表单元素成为输入类型或其自身元素的原因是什么?

起初我认为这可能是因为所有的输入类型都只是
input type=text
上的变体,但当您将
复选框和
收音机混入其中时,这就没有意义了。也许它们作为自己的表单元素会更好

<input type="checkbox" name="check" value="yes">
// Would become
<checkbox name="check" value="yes">
示例2(与输入不一致):不能将
.attr('value')
textarea
元素一起使用,这意味着以下示例不起作用。您必须使用
$('textarea').text()
$('textarea').html()
来设置默认值

<form>  
    <input type="text" name="text" value="initial" />
   <textarea>initial</textarea>
   <button type="reset">Reset</button>
</form>

<script>
    $('input, textarea').attr('value', 'set by javascript');
</script>

最初的
重置
$('input,textarea').attr('value','set by javascript');

还有其他一些事情对我来说没有意义,但我只会在我的问题中强调这两个我希望有人能向我解释为什么HTML和Javascript对表单元素的处理不同(特别是在获取、设置和重置它们的值时),为什么某些表单元素有自己的元素,为什么其他表单元素只是
输入
元素的
类型,如果你不能把解决一个特定的问题作为一个话题,它可能会被认为是离题的/非建设性的。Craig..它可能只是“遗留的基础”,让我们在HTML中找到了看似多余但处理方式不同的对象。这种情况在编程语言中经常发生,尽管在HTML中,对象/标记的弃用通常是由能够处理它们的Javascript驱动的。浏览器几乎都尊重HTML中的旧标记/对象。@ShawnErquhart-我的问题至少没有教育意义吗?这是我在编写自己的项目时一直很难理解的。@MiiinimalLogic-是的,我理解。但是输入和文本区域从一开始就存在,不是吗?“我希望他们更加一致。”克雷格霍斯伯格说,“这绝对是教育性的,只是离题了。”。事实上,一些最有价值的资源是离题的。这里有一个很好的例子:
<form>  
    <input type="text" name="text" value="initial" />
   <textarea>initial</textarea>
   <button type="reset">Reset</button>
</form>

<script>
    $('input, textarea').attr('value', 'set by javascript');
</script>