Javascript では、id
(フォーマット内の) 要素の が指定された場合、要素の がドロップダウン リスト要素またはテキスト入力要素を参照しているString
かどうかを確認するにはどうすればよいですか?id
がドロップダウン リスト ( ) 要素またはテキスト入力要素を参照しているtrue
場合、関数は返されます。id
<select>
false
Javascript では、id
(フォーマット内の) 要素の が指定された場合、要素の がドロップダウン リスト要素またはテキスト入力要素を参照しているString
かどうかを確認するにはどうすればよいですか?id
がドロップダウン リスト ( ) 要素またはテキスト入力要素を参照しているtrue
場合、関数は返されます。id
<select>
false
使用してみてください:
document.getElementById('idNameGoesHere').tagName
したがって、関数は次のようになります。
function isSelectOrTextField(idName) {
var element = document.getElementById(idName);
if(element.tagName === 'SELECT') {return true;}
if(element.tagName === 'INPUT' && element.type === 'text') {return true;}
return false;
}
これを展開して確認することもでき<textarea>
ます。
編集:または、使用していて、より適切にフォーマットされているため、
jbabeyの回答nodeName
を選択してください。
すでに jquery が含まれている場合は、 is 関数を使用できます。
$('#myid').is('input, select')
または多分
$('#myid').is('input, textarea, select')
テキストエリアも含めたい場合
また
$('#myid').is('input:not([type="button"]), textarea, select')
(これは、テキストまたはドロップダウン、またはボタンではない入力の場合に true を返します)。
jquery セレクターのすべての力を利用して、クエリを正確なニーズに適合させることができます。
デモンストレーション: http://jsfiddle.net/ELuEJ/ (htmlを変更してみてください)
これを決定するには、DOM 要素のnodeName
およびプロパティを使用できます。type
外部ライブラリは必要ありません。
var isSelectOrTextInput = function (element) {
var nodeName = element.nodeName;
return nodeName === 'SELECT' ||
(nodeName === 'INPUT' &&
element.type.toLowerCase() === 'text');
};
作業サンプル: http://jsfiddle.net/ytHQD/
$('#myId')[0].tagName
dom 要素を取得して、tagName を確認できます