我有一个像这样的变量:
var string =
"<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="1">D</option>
<option value="2">E</option>
<option value="3">F</option>
<option value="1">G</option>
<option value="2">H</option>
<option value="3">I</option>
<option value="1">K</option>
<option value="2">L</option>
<option value="3">M</option>"
我想创建一个解析它/做一个过滤器的代码,以便保留一个新的var only选项,其中val = value我选择。
因此,我想获得的值为值= 1的结果如下:
"<option value="1">A</option>
<option value="1">D</option>
<option value="1">G</option>
<option value="1">K</option>"
你知道怎么做吗?
非常感谢!
答案 0 :(得分:6)
您可以将字符串传递给jQuery并使用.filter()
方法。
var filteredElements = $(string).filter('[value=1]');
如果您想要元素的字符串表示:
var filteredString = $('<select/>').html(string).find('option').filter(function() {
return this.value !== '1';
}).remove().end().end().html();
答案 1 :(得分:3)
你最好把它作为一组jQuery元素保存:
var $options = $(string);
然后使用jQuery方法获取你想要的那些:
var $wanted = $options.filter(function() {
return this.value == 1;
});
答案 2 :(得分:1)
试试这个。
var string =
"<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="1">D</option>
<option value="2">E</option>
<option value="3">F</option>
<option value="1">G</option>
<option value="2">H</option>
<option value="3">I</option>
<option value="1">K</option>
<option value="2">L</option>
<option value="3">M</option>"
var elements = $(string);
var requiredelements = elements.filter("option[value=1]").html();