4

テキストの子であるボタンを作成することは可能ですか?

<input type="text">
    <input type="button" />
</input>

私が尋ねる理由は、コンボボックスを作りたいからです。このフィドルを参照してください。jqueryでこれを行うと、ボタンは表示されません。通常のHTMLでそれを行うと、2番目の入力は最初の入力の子ではありません(少なくともChromeでは)。

スパンにテキストとボタンを配置することもできますが、後で値を次のように取得できるように、例のようにテキストボックスを作成することをお勧めします。$( "#test).val();

PS私は他のコンボボックスプラグインが存在することを知っています。私は学習目的のために自分自身を転がしたいと思います。

4

5 に答える 5

9

inputインライン要素のようにこれは不可能です-子を持つことはできません。

于 2012-11-29T15:47:18.263 に答える
3

これにより無効なHTMLが生成されるため、これを行うことはできません。できることは、ブロック要素であるdivを作成し、テキストボックス+ボタンのインライン要素で埋めることです。

CSSにいくつかのスタイルを設定すると、境界線や斜角なしで、divをテキストボックスのように見せたり、テキストボックスをdivのように見せたりすることができます。あなたがここで達成しようとしていることのように見える何かをもたらします。

テキストボックスを削除するには、入力を使用してください#YourTextBox {border: none;}

于 2012-11-29T15:51:05.520 に答える
1

正解は、inputタグは子を持つことができない無効な要素であるということです。spanなどのインライン要素は子を持つことができます。

ボイド要素には開始タグのみがあります。void要素には終了タグを指定しないでください。

つまり、HTML5では、「使用しない」の終了タグを使用することはできません</input>。HTML5はXMLではなく、自己終了タグ(/>)を強く推奨しません。つまり<input />、厳密には正しいHTML5ではありません(互換性の目的で機能しますが)。HTML5で定義されているvoid要素タグのリストは次のとおりarea, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbrです。

于 2016-06-07T02:36:47.897 に答える
0

これは、そのようにHTML要素をネストするための有効なアプローチではありません。jQueryプラグインの機能を見ると、通常、<select>要素をdivやその他のものでラップしています。私見、あなたは同様のアプローチに従うことによって問題を解決することができます。

于 2012-11-29T16:35:12.313 に答える
0

入力は終了しないため、子を持つことはできません。ここにいくつかの情報があります:https ://www.w3schools.com/tags/tag_input.asp

于 2020-10-28T17:32:44.720 に答える