選択した要素がフォームフィールドであるかどうか、つまり入力、選択、チェックボックスなどであるかどうかを判断する便利な方法はありますか?
7271 次
4 に答える
16
を使用.is(':input')
して、それが任意の種類のフォーム要素であるかどうかをテストできます。
Docrefs:
- http://api.jquery.com/is/-セレクターに対して現在一致している要素のセットを確認します...
- http://api.jquery.com/input-selector/-すべての入力、テキストエリア、選択、ボタンの要素を選択します。」
于 2012-07-27T13:49:28.087 に答える
4
プレーンなJavaScriptを使用します。
$("#someelement")[0].tagName // will return name of tag (div, p, input, select, etc...)
jQueryオブジェクトの最初のインデックス[0]
は、そのDOMオブジェクトを返します。javascriptで完全に行うには:
document.getElementById("someelement").tagName;
于 2012-07-27T13:50:22.313 に答える
1
純粋なJavaScriptでは、 SizzleEngineのようなことを行うことができます
/^(?:input|select|textarea|button)$/i.test(el.nodeName)
例
/**
* Test is form action element
* @param {Object} el
* @return {Boolean} true if a form action element
*/
const isInput = el => /^(?:input|select|textarea|button)$/i.test(el.nodeName);
// DEMO:
document.querySelectorAll('.foo').forEach(el => console.log(isInput(el)));
<textarea class="foo">test</textarea>
<button class="foo">test</button>
<input class="foo" type="text">
<div class="foo">test</div>
<p class="foo">test</p>
https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L139
于 2019-09-02T07:27:16.490 に答える
-1
于 2012-07-27T13:52:36.313 に答える