我有一个字符串:
var html = '<select">\
<option></option>\
<option>Mr</option>\
<option>Mrs</option>\
<option>Ms</option>\
<option>Master</option>\
<option>Miss</option>\
<option>Dr</option>\
<option>TBA</option>\
</select>';
我想在{&#39; Master&#39;选项。我怎么能这样做?
我试过了:
selected
我不知道如何像搜索DOM一样搜索字符串。
答案 0 :(得分:4)
为什么不像这样做一个字符串替换:
html = html.replace('<option>Master</option>','<option selected>Master</option>');
答案 1 :(得分:3)
使用 :contains()
选择器并使用 attr()
$(this).html() == "Master";
}).prop('selected', true));
var html = '<select>\
<option></option>\
<option>Mr</option>\
<option>Mrs</option>\
<option>Ms</option>\
<option>Master</option>\
<option>Miss</option>\
<option>Dr</option>\
<option>TBA</option>\
</select>';
console.log(
$(html)
.find('option:contains("Master")') // getoption which contains master
.attr('selected', true) // set selected attribute
.end()[0].outerHTML // back to previous selector and get dom object and it's outerHTML property
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
使用 filter()
方法
var html = '<select>\
<option></option>\
<option>Mr</option>\
<option>Mrs</option>\
<option>Ms</option>\
<option>Master</option>\
<option>Miss</option>\
<option>Dr</option>\
<option>TBA</option>\
</select>';
console.log(
$(html)
.find("option") // get all options
.filter(function() { // filter option which contains master
return $(this).text() == "Master";
}).attr('selected', true) // set selected attribute
.end() // back to option selector
.end()[0].outerHTML // back to html selector and get dom object and it's outerHTML property
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 2 :(得分:1)
将您的代码更改为:
/*jshint multistr: true */
var html =
'<select class="form-control honorific">\
<option>Mr</option>\
<option>Mrs</option>\
<option>Ms</option>\
<option>Master</option>\
<option>Miss</option>\
<option>Dr</option>\
<option>TBA</option>\
</select>';
$(function() {
var temp = "Master";
$('body').append(html);
$(".form-control").val(temp);
});
答案 3 :(得分:-2)
这可能有所帮助:
var elements = $(theHtmlString);
var found = $('.FindMe', elements);