spg*_*spg 0 html jquery dom dom-manipulation
假设我有一个Select元素:
<select>
<option value="Name 1">Simon</option>
<option value="Name 2">Frank</option>
<option value="Name 3">Bob</option>
<option value="Name 4">Alex</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我有一个字符串数组,假设:
["Simon", "Alex"]
Run Code Online (Sandbox Code Playgroud)
如何从DOM(使用jQuery)每删除option元素,它不会有一个内部HTML包含在以上列表值?例如,给定上面的内部html值(["Simon", "Alex"])列表,我想只删除<option value="Name 2">Frank</option>和<option value="Name 3">Bob</option>元素,以便最终select元素看起来像:
<select>
<option value="Name 1">Simon</option>
<option value="Name 4">Alex</option>
</select>
Run Code Online (Sandbox Code Playgroud)
试试这个:
var list = ["Simon", "Alex"]; // Say your list is this
$(function(){
$('select option').filter(function () { //Use filter on options
return $.inArray(this.innerHTML, list) == -1 // get the option text which is not in the array
}).remove(); //Remove them
});
Run Code Online (Sandbox Code Playgroud)
参考
与此同时,您还可以使用ecmascript-5 spec Array.prototype.indexOf代替$ .inArray
return list.indexOf(this.innerHTML) == -1
| 归档时间: |
|
| 查看次数: |
8148 次 |
| 最近记录: |