创建输入作为输入的子项
是否可以创建一个文本的子项按钮?
我问的原因是我想制作一个combobox。 看到这个小提琴 。 在jquery中执行此操作,该按钮不会出现。 在常规html中执行此操作,第二个输入不是第一个输入(至少在Chrome中)。
我可以在一个范围内放置一个文本和按钮,但我更喜欢在示例中创建文本框,以便稍后可以检索值,如:$(“#test).val();
PS我知道其他combobox插件存在。 我想将自己用于学习目的。
这将导致无效的HTML,因此无法执行此操作。 你可以做的是创建一个div,它是一个块元素,并用文本框+按钮内联元素填充它。
通过CSS中的一些样式,您可以使div看起来像文本框,文本框就像div一样,没有边框和斜面。 导致看起来像你想要在这里实现的东西。
要删除文本框,请在输入中使用#YourTextBox {border: none;}
这是不可能的,因为input
是内联元素 – 它不能有子元素。
这不是以这种方式嵌套HTML元素的有效方法。 如果你看一下jQuery插件的作用,它们通常用div和其他东西包装你的元素。 恕我直言,你可以通过类似的方法解决问题。
正确的答案是input
标记是一个不能包含任何子元素的void元素 。 内联元素(如span)可以有子项。
Void元素只有一个开始标记; 不得为void元素指定结束标记。
即在HTML5中,永远不会有一个结束标记,即不使用 。 HTML5不是XML,它强烈反对自动关闭标签(
/>
),即不是严格正确的HTML5(尽管它可以用于兼容性目的)。 HTML5中定义的void元素标记列表包括:
area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr
。