类型错误 - 不是函数

myo*_*yol 1 jquery

我有一个组合框,在更改控制台上记录该值

jQuery( '#divid' ).on( 'change', function () {
     console.log( jQuery( '#divid option:selected' ).text());
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我觉得这是一个未经优化的代码.我已将其更改为以下代码

jQuery( '#divid' ).on( 'change', function () {
     console.log( jQuery( '#divid' ).children("option").is("selected").text());
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

TypeError:jQuery(...).children(...).is(...).text不是函数

我究竟做错了什么?

Ror*_*san 6

该is()方法返回一个布尔值,该布尔值没有text()方法.要做到你需要什么,你可以使用filter()带:selected:

jQuery('#divid').children("option").filter(":selected").text()
Run Code Online (Sandbox Code Playgroud)

但是,我会说,你的第一个例子没有任何问题,我认为由于更具可读性,因此更可取.