$( "select>option[text='xxx']" ) 不起作用



我需要用文本设置默认的选择值,这是我的代码:

html:

<select id="sel">
    <option value="F">Firm</option>
    <option value="G" selected="selected">Government</option>
    <option value="I">Individual</option>
</select>

javaScript:

$("#sel>option[text='Firm']).prop("selected", true);

它不起作用,低于值为0:

$("#sel>option[text='Firm']).length

如果我使用属性值,则可以在此处使用文本。

谢谢。

不可能将元素的文本内容视为CSS选择器语法中的属性。

您可以写一个过滤器来完成:

$('select option').filter(function() {
  return $(this).text() === "Firm";
}).whatever();

那是因为text不是CSS属性。

但是,您可以使用jQuery的:contains选择器

$("select > option:contains('xxx')")

您可以使用filter()根据其内部文本获取某些元素:

$("#sel > option").filter(function() {
    return this.innerHTML == "Firm";
}).prop("selected", true);

相关内容

最新更新