如何选择 html where text=Washington 我正在这样做
var opt = $("#address_states_state option[text='Washington']");
var html = $("<div>").append(opt.clone()).html();
html = html.replace(/\>/, ' selected="selected">');
opt.replaceWith(html);
如何选择 html where text=Washington 我正在这样做
var opt = $("#address_states_state option[text='Washington']");
var html = $("<div>").append(opt.clone()).html();
html = html.replace(/\>/, ' selected="selected">');
opt.replaceWith(html);
没有直接的选择器来获取其text
equals的元素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")')
您可以使用:contains()
选择器执行此操作:
$("#address_states_state option:contains('Washington')").prop('selected', true);
而不是进行克隆,然后用选定的选项替换它。
演示:小提琴
更新
如果您想选择具有特定文本的选项(在您的情况下为 'Washington'),您可以这样做:
$('#address_states_state option').filter(function () {
return $(this).text().toLowerCase() === 'washington';
}).prop('selected', true);
演示:小提琴