td
是一个引用表格单元格<td>
元素的jQuery变量。此单元格包含<select>
元素,其中包含许多<option>
元素;每个都有文字和价值。
此代码返回所选选项的值(不是文本)。
td.children().val();
我尝试了很多方法来获取所选选项的文本,但它们没有工作。
td.children().text()
这将返回<select>
元素的所有选项的文本。
我过滤了很多方法但根本没有结果:
td.children(':selected').text()
td.children('option:selected').text()
td.children('[selected]').text()
td.children('[selected=""]').text()
td.children('option[selected=""]').text()
答案 0 :(得分:1)
由于option
是select
而非td
的直接子项,因此函数children()
将无效。因此,您尝试的解决方案都没有奏效。
您需要使用.find()
获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。
td.find('option:selected').text()
.find()
和.children()
方法类似,只是后者只在DOM树中向下移动一个级别。