如何选择text = Washington的html 我这样做是为了
var opt = $("#address_states_state option[text='Washington']");
var html = $("<div>").append(opt.clone()).html();
html = html.replace(/\>/, ' selected="selected">');
opt.replaceWith(html);
答案 0 :(得分:2)
没有直接选择器来获取其text
等于X
的元素。但是你可以做几件事:
您可以使用filter()
:
$('#address_states_state option').filter(function(i, el) {
return $(el).text() === 'Washington'
});
或者,编写自己的伪选择器:
jQuery.expr[':'].textEquals = $.expr.createPseudo(function( text ) {
return function(elem) {
return $(elem).text() === text;
}
});
然后你就做了:
$('#address_states_state option:textEquals("Washington")')
答案 1 :(得分:-3)
您可以使用:contains()
选择器执行此操作:
$("#address_states_state option:contains('Washington')").prop('selected', true);
而不是执行克隆,然后将其替换为选定的选项。
演示:Fiddle
<强>更新强>
如果要选择具有特定文本的选项(在您的情况下为,'Washington'),您可以执行以下操作:
$('#address_states_state option').filter(function () {
return $(this).text().toLowerCase() === 'washington';
}).prop('selected', true);
演示:Fiddle