質問: お世話になります。 jqueryのserializeメソッドは通常、formタグやinputタグを指定して値を取得するようにしますが、 現在のプログラムでは訳あって $("#top").find('fieldset').serialize(); と記述して値を取得しています。 inputダグはform要素内の外にあって fieldsetタグ内に必要なinputタグが存在する想定です。 chrome,firefoxでは問題なく作動していいましたが、IE11では空になってしまいます。 これはformタグ以外で指定しているのが原因でしょうか これについて教えていただきたいです。 よろしくお願いいたします。
回答: jQueryのソースコード見てきました。 ``` function () { return this.map(function () { // Can add propHook for "elements" to filter or add form elements var elements = jQuery.prop(this, "elements"); return elements ? jQuery.makeArray(elements) : this; }) //略 ``` とあり、`this.elements`を拾っています。 HTMLFieldSetElement - Web API インターフェイス | MDN ↑MDNによると`HTMLFieldSetElement`は`elements`属性を持ちますが、 HTMLFieldSetElement object (Internet Explorer).aspx) ↑MSDNには記述がありませんでした。 FirefoxとIE11で`document.querySelector('fieldset').elements`を実行してみたところ、IE11は`undefined`でした。