热门获取 jQuery 中所选选项的文本?

Hot to get the text of the selected option in jQuery?

td 是引用 table 单元格 <td> 元素的 jQuery 变量。此单元格包含一个 <select> 元素,该元素包含多个 <option> 元素;每个都有一个文本和值。

此代码 returns 所选选项的值(不是文本)。

td.children().val();

我尝试了很多方法来获取所选选项的文本,但没有一种有效。

td.children().text() 这个 returns <select> 元素的所有选项的文本。

我用很多方法过滤了它,但根本没有返回结果:
td.children(':selected').text()
td.children('option:selected').text()
td.children('[selected]').text()
td.children('[selected=""]').text()
td.children('option[selected=""]').text()

由于 optionselect 而不是 td 的直接子代,因此函数 children() 将不起作用。因此 none 您尝试的解决方案有效。

您需要使用.find()

Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element.

td.find('option:selected').text()

The .find() and .children() methods are similar, except that the latter only travels a single level down the DOM tree.