2012-04-08 5 views
0

とHTML は、どのように私は簡単にselectタグを持っているjQueryの

私がconsole.log(s[i].html());を使用すると、間違っていると言われます。

どうすればコンテンツを入手できますか? 「コンテンツ」で仮定し

+1

可能重複[jQueryの選択オプションのテキストを取得](http://stackoverflow.com/questions/196684/jquery-get-select-option-テキスト) –

+0

誰かが.html()メソッドを使っていない理由を教えてもらえますか? それは...そうだと私には思われる... –

+1

@Euloiix: 'for'ループの内部はjQueryオブジェクトではないので、jQueryの' .html() 'メソッドは利用できません。 –

答えて

3

を抽出するために、あなたが取得するjQueryの必要はありませんテキストコンテンツ。

HTMLOptionElement.textです。

var s = $('select option'); 

for(var i = 0; i < s.length; i++) { 
    console.log(s[i].text); 
} 

あなたは(あなたの質問によって少し混乱)要素.outerHTMLをしたい場合は、あなたがこれを行うことができますが...

var s = $('select option'); 

for(var i = 0; i < s.length; i++) { 
    console.log(s[i].outerHTML); 
} 

...これだけけれども最近Firefoxで利用できるようになったので、パッチを当てる方法を作成することができます。

function outerHTML(el) { 
    return el.outerHTML || document.createElement('div') 
            .appendChild(el.cloneNode(true)) 
            .parentNode 
            .innerHTML; 
} 

...とこのようにそれを使用して...

var s = $('select option'); 

for(var i = 0; i < s.length; i++) { 
    console.log(outerHTML(s[i])); 
} 
1

あなたはオプションのテキスト値を意味し、これを試してみてください。

$("select option").each(function() { 
    console.log($(this).text()); 
}); 
0

使用text()方法要素のテキストノード値に

関連する問題