Javascript jQuery:如果值未定义,如何禁用选择选项
我有一个输出类似以下内容的站点:Javascript jQuery:如果值未定义,如何禁用选择选项,javascript,jquery,Javascript,Jquery,我有一个输出类似以下内容的站点: <select id="tinynav1" class="tinynav tinynav1"> <option value="http://google.com">Home</option> <option value="undefined">About</option> <option value="http://website.com">- School News</opti
<select id="tinynav1" class="tinynav tinynav1">
<option value="http://google.com">Home</option>
<option value="undefined">About</option>
<option value="http://website.com">- School News</option>
<option value="http://etc.com">- History Of The School</option>
<option value="http://etc.com">- Contact Us</option>
<option value="undefined">Curriculum</option>
<option value="http://etc.com">- Our Mission</option>
</select>
我想循环遍历这些值,如果该值未定义,我想添加属性disabled,即输出将被禁用
<select id="tinynav1" class="tinynav tinynav1">
<option value="http://google.com">Home</option>
<option value="undefined" disabled="disabled">About</option>
<option value="http://website.com">- School News</option>
<option value="http://etc.com">- History Of The School</option>
<option value="http://etc.com">- Contact Us</option>
<option value="undefined" disabled="disabled">Curriculum</option>
<option value="http://etc.com">- Our Mission</option>
</select>
使用属性选择器非常简单:
$("option[value=undefined]").prop('disabled', true);
编辑
由于vanilla JS似乎很重要,这里有一个vanilla JS解决方案:
var options = document.getElementById('tinynav1').options;
for(var i = 0; i < options.length; i++){
options[i].disabled = options[i].value === 'undefined';
}
这里有一个非常简单的jQuery选项 $tinynav1选项[value='undefined'].attr'disabled','disabled'; 家 关于 -学校新闻 -学校历史 -联系我们 课程 -我们的使命
另一个jQuery的答案是。。。您可以使用纯Javascript: NodeList.prototype.forEach=Array.prototype.forEach; document.querySelectorAlltinynav1选项[value='undefined'].forEachfunctionitem{ item.setAttributedisabled,已禁用; }; 家 关于 -学校新闻 -学校历史 -联系我们 课程 -我们的使命
你试过什么吗?