1. ホーム
  2. javascript

[解決済み] 選択された要素の種類を取得する

2022-01-31 07:10:40

質問

jQueryのセレクタで選択した要素の種類を取得したい。

マークアップします。

<select name="a"></select>
<input name="b" type="text" />
<textarea name="c"></textarea>

ジャバスクリプトです。

var field_names = new Array(
    'a',
    'b',
    'c'
);

for(var i = 0; i < field_names.length; i++) {
    var field = $('[name=' + required_fields[i] + ']:visible');

    // ?????
    // What do I write here to get one of those outputs:
    //    Element with name a is <select>
    //    Element with name b is <input>
    //    Element with name c is <textarea>

    alert('Element with name ' + required_fields[i] + ' is ' + element_type);
}

解決方法は?

簡単です。

var element_type = '<' + field.get(0).tagName.toLowerCase() + '>';

簡単に言うと、これは field でタグ名を取得し tagName 属性から継承された DOMElement で小文字に変換し、その結果を String 's toLowerCase() メソッドを使用します。一部のブラウザは tagName は大文字なので、一貫性を保つために小文字に変換してください。