将<element />
的元素替换为<element></element>
是否有效。在这种情况下,我想拥有,
<input {attributes}></input>
这样我就可以在其中添加验证数据......也可以从<br />
或<hr />
等处添加验证数据吗?
答案 0 :(得分:2)
<input>
代码没有</input>
,也没有必要。 <br>
和<hr>
也是如此。您可以使用以下自定义属性将验证数据作为属性放在输入标记(或任何标记)上:
<input type="text" data-validate="num">
如果验证的含义是您要在输入标记附近显示的单独HTML,请将其放在<input>
标记之前或之后的自己的标记中:
<input type="text"><span class="validHint">This field accepts only numbers</span>
答案 1 :(得分:2)
<input></input>
在HTML4.01和HTML5中均无效。
根据W3C's validation service :(突出显示的原因)
验证输出:1错误
第9行,第15栏:迷路结束标记输入。
&LT;输入&GT;&LT; /输入&GT;
所以,你去,你不能用<input>
替换<input></input>
。
答案 2 :(得分:0)
如果要将数据附加到元素,为什么不使用data-*
属性? (例如<input data-color="red" />
)这是有效的,应该同样容易实现。
答案 3 :(得分:0)
在HTML 4.01之前的经典HTML中,<input></input>
无效。实际上,浏览器会忽略杂散结束标记。他们不会忽略标记之间的内容,因此<input>foo</input>
与<input>foo
相比没有任何结果。 HTML5不建议更改此内容。
根据XHTML规范,在XHTML中,<input></input>
是有效的,但不应在Web上使用。如果在标记之间放置任何内容,它将变为无效,因为已使用EMPTY内容模型声明了input
元素。
所以你应该采取一种完全不同的方法。这实际上取决于你想要达到的目标,并且应该在其他标题下进行讨论。根据问题,解决方案可能是新的HTML5属性之一,或data-
属性,隐藏字段,或某种方式隐藏的元素,或者可能只是文档树中的数据。