jQuery从select中移除选项,但不包含value属性
jQuery remove options from select without value attribute
我想忽略/删除选择框中的所有选项,这些选项要么有空值,要么根本没有value=">属性,例如
<option>Any Option</option>
<option value="">Any Option</option>
这是我的jQuery:
$(function() {
// Create the dropdown base
$("<select />").appendTo("#pagination_container");
// Create default option "Go to..."
$("<option />", {
"selected": "selected",
"value" : "",
"text" : "Select Page..."
}).appendTo("#pagination_container select");
// Populate dropdown with menu items
$("#pagination_container a").each(function() {
var el = $(this);
$("<option />", {
"value" : el.attr("href"),
"text" : el.text()
}).appendTo("#pagination_container select");
});
$("#pagination_container select").change(function() {
window.location = $(this).find("option:selected").val();
});
});
您需要使用一个由两部分组成的选择器来实现这一点:
$('option[value=""],option:not([value])').remove();
注意:请记住,value=""
检查元素的初始状态。因此,如果以后更改元素的值,而不一定更改value属性,则可能会得到意外的结果。如果option
元素的值必然会更改,请使用filter()
而不是[value=""]
。
瞄准类似的元素
$('option[value=""]');
和删除做这个
$('option[value=""]').remove();
$("#pagination_container").find("option").each(function(index, el){
var $el = $(el);
var value = $el.attr("value");
if (value === "" || value === undefined)
$el.remove();
});
从jQuery 1.6开始,.attr((方法为属性返回undefined尚未设置。源
这个问题类似于这个问题:
- jQuery从select中删除选项
- 从选择框中删除项目
查看链接,学习许多不同的方法来解决您的问题。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 货币代码为欧元-金额的格式不应包含小数
- 如何包含特定于每个视图angularjs的javascript文件
- 我如何修复包含在captcha的addthis中的错误
- 正在注入包含JS的HTML
- Json数据包含日期和时间格式
- Angular js-返回一个包含类似
- jQuery/JS包含运算符或类似运算符
- 如果href包含X,请更改href
- JavaScript数组包含一个值
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 在Meteor项目中安装并包含npm模块后出错
- javascript getelement,其中value包含特定字符串
- 为什么输入对象的value属性不包含值
- jQuery:包含<选项>VALUE</选项>
- Javascript检查value是否至少包含2个或更多的单词
- 当value包含多个单词时,选择标签中的选项混乱
- jQuery从select中移除选项,但不包含value属性
- 如何仅在spa中需要时才包含value组件
- 属性包含使用change的选择器[name*= " value "]