创建输入作为输入的子项

是否可以创建一个文本的子项按钮?

   

我问的原因是我想制作一个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