我有一个组合框,在更改控制台上记录该值
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不是函数
我究竟做错了什么?
该is()方法返回一个布尔值,该布尔值没有text()方法.要做到你需要什么,你可以使用filter()带:selected:
jQuery('#divid').children("option").filter(":selected").text()
Run Code Online (Sandbox Code Playgroud)
但是,我会说,你的第一个例子没有任何问题,我认为由于更具可读性,因此更可取.