你并不需要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]));
}
的
可能重复[jQuery的获得选择选项的文本(http://stackoverflow.com/questions/196684/jquery-get-select-option-文本) – 2012-04-08 14:22:50
有人可以告诉我为什么它不与.html()方法一起工作吗? 在我看来,它应该... – 2012-04-08 14:24:39
@Euloiix:因为'for'循环内不是jQuery对象,因此jQuery的'.html()'方法不可用。 – 2012-04-08 14:39:08