2012-04-29 55 views
1

<element />替换<element></element>是否有效。在这种情况下,我想有,是'<element />`到`<element></element>`有效吗?

<input {attributes}></input>

,这样我可以追加内...也验证数据可这是有可能从<br /><hr />等?

+0

请!没有'
'! [W3Fools](http://w3fools.com/#html_elements_br) – 2012-04-29 00:11:59

+0

'
'作为示例!显然它不会需要休息 – Edhen 2012-04-29 00:19:26

+0

为什么不尝试W3C标记验证服务 - http://validator.w3.org/ – 2012-04-29 00:21:37

回答

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> 
+0

不!验证实际上只是一个ui的反馈,一个div元素与tick或cross的图标一样。显然是不正常的,这就是为什么问题出现,但这是XML仍然会使其有效imo ... – Edhen 2012-04-29 00:13:59

+2

@Edhen - 你的问题显然不是很清楚,它是不明显的,你真的想要做什么。如果您希望在''标签之前或之后分开HTML,请在''标签之前或之后将其置于其自己的标签中。如果你想要别的东西,那么编辑你的问题,以更具体地说明你真正想要完成的事情。 – jfriend00 2012-04-29 00:17:56

+0

这个问题真的好奇。我知道在输入元素之前或之后放置一个js很容易。但是当我做了一个快速的jQuery函数来追加一个输入元素。我发现它实际上正确包装它为' {js data}' – Edhen 2012-04-29 00:21:56

0

如果你想将数据附加到元素,为什么不使用data-*属性? (例如<input data-color="red" />)这是有效的,并且应该很容易实现。

+0

我以为那只是html5,但无论如何那不是真的我以后。我试图实现的过程实际上有一个'

',如果输入的onchange通过ajax验证检查返回false,则会显示一个错误图标。为什么我想看看我是否可以做到这一点,简单地说,我可以相对于输入元素来设计div的样式,并且在验证时可以轻松地从jqeury中抓取它... – Edhen 2012-04-29 00:32:52

+0

否则我将不得不将输入和div图标包裹在里面另一个div。 – Edhen 2012-04-29 00:34:12

+0

那么为什么不把输入包装在'div'呢?我对将数据放入'input'元素的需求感到困惑。 – 2012-04-29 00:36:22

2

<input></input>在HTML4.01和HTML5中均无效。

根据W3C's validation service:(原因突出显示)

验证输出:1个错误

第9行,第15列:杂散结束标记输入。
<输入> < /输入>

所以在这里你去,你不能<input></input>取代<input>

0

在经典HTML直到并包括HTML 4.01,<input></input>是无效的。实际上,浏览器忽略了杂散结束标记。他们不会忽略标签之间的内容,因此<input>foo</input><input>foo相比没有任何效果。 HTML5不打算改变这一点。根据XHTML规范,在XHTML中,<input></input>是有效的,但不应该在Web上使用。如果您在标签之间放置任何内容,则它将变为无效,因为input元素已用EMPTY内容模型声明。

所以你应该采取一种完全不同的方法。这取决于你想要达到的目标,应该在其他标题下讨论。根据问题的不同,解决方案可能是新的HTML5属性之一,或者属性或隐藏字段,或者以某种方式隐藏的元素,或者可能只是文档树中的数据。

相关问题