Select 带有 cheerio (jquery) 的选项(按文本)
Select option with cheerio (jquery) by text
我正在尝试 select select 下拉列表中的一个选项,其中 HTML 元素的 text()
属性带有 cheerio
。到目前为止,我正在做的是尝试将 attr
设置为 selected 匹配,即具有特定文本的元素。
这就是我正在尝试的:
$('#ddl_city option[text="testing"]').attr('selected', 'selected');
当我这样做时,html 没有得到任何更改。执行此操作后,我在控制台上打印了 html 文档,但我没有看到该选项已更改为我正在 selecting 的选项。知道为什么不起作用或其他解决方法吗?
你可以试试这个:
$('#ddl_city option').
filter(function () { return $(this).text() == 'testing'; }).
attr('selected', true);
感谢 jQuery 论坛上 this post 中 Godsbest 的回答。
您可以使用 :contains
过滤器根据文本获取特定的 option
元素,并将 select
元素的值设置为其值:
$('#s1').val($("#s1 option:contains('Val B')").val())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="s1">
<option value="a">Val A</option>
<option value="b">Val B</option>
</select>
我正在尝试 select select 下拉列表中的一个选项,其中 HTML 元素的 text()
属性带有 cheerio
。到目前为止,我正在做的是尝试将 attr
设置为 selected 匹配,即具有特定文本的元素。
这就是我正在尝试的:
$('#ddl_city option[text="testing"]').attr('selected', 'selected');
当我这样做时,html 没有得到任何更改。执行此操作后,我在控制台上打印了 html 文档,但我没有看到该选项已更改为我正在 selecting 的选项。知道为什么不起作用或其他解决方法吗?
你可以试试这个:
$('#ddl_city option').
filter(function () { return $(this).text() == 'testing'; }).
attr('selected', true);
感谢 jQuery 论坛上 this post 中 Godsbest 的回答。
您可以使用 :contains
过滤器根据文本获取特定的 option
元素,并将 select
元素的值设置为其值:
$('#s1').val($("#s1 option:contains('Val B')").val())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="s1">
<option value="a">Val A</option>
<option value="b">Val B</option>
</select>