2

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

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

如果我使用属性值,它可以工作,但我需要在这里使用文本。

谢谢。

4

3 回答 3

3

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

但是,您可以编写一个过滤器来执行此操作:

$('select option').filter(function() {
  return $(this).text() === "Firm";
}).whatever();
于 2012-10-19T13:08:54.187 回答
2

那是因为text不是 CSS 属性。

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

$("select > option:contains('xxx')")
于 2012-10-19T13:11:39.403 回答
1

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

$("#sel > option").filter(function() {
    return this.innerHTML == "Firm";
}).prop("selected", true);
于 2012-10-19T13:10:20.567 回答