组合多个. removeattr()语句
Combing multiple .removeAttr() statements
我有多个removeAttr()
是否有一种方法可以将它们组合起来?
What I have: (this works)
checkboxes.removeAttr("checked",'checked');
checkboxes.removeAttr("indeterminate", false);
checkboxes.removeAttr("role", 'checkbox');
checkboxes.removeAttr("aria-checked", false);
我试过的:(这不起作用)
checkboxes.removeAttr({
checked: 'checked',
indeterminate: false,
role: 'checkbox',
'aria-checked': false
});
当我尝试这个时,我得到以下控制台错误。所以要么是我的语法错了,要么就是这个不起作用。
Uncaught TypeError: Object #<Object> has no method 'toLowerCase' jquery.min.js:2
任何帮助都是感激的。谢谢。
只需使用$.each
与数组,快速,简短,可扩展。
$.each(["checked","indeterminate"],function(i,attrName){
checkbox.removeAttr(attrName);
});
根据removeAttr() doc它不接受对象。所以
checkboxes.removeAttr({});
将不工作。并且它也接受一个参数[thx @RocketHazmat]来纠正你想要删除的。
你可以做这样的链接:
checkboxes
.removeAttr("checked")
.removeAttr("indeterminate")
.removeAttr("role")
.removeAttr("aria-checked");
但是如果你想设置属性,那么你必须使用attr()
方法,如:
checkboxes
.attr("checked", 'checked')
.attr("indeterminate",false )
.attr("role",'checkbox')
.attr("aria-checked", false);
我不知道为什么你传递键和值到removeAttr
,但如果你只是想从一个元素中删除这4个属性,传递一个空格分隔的键列表,像这样:
checkboxes.removeAttr("checked indeterminate role aria-checked");
@RocketHazmat是正确的,所以它应该是这样的:
checkboxes.removeAttr("checked indeterminate role aria-checked");
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 自动修复”;语句前缺少分号“;
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- for循环中的javascript if语句找不到==
- 当使用extern和目标JavaScript时,我如何强制Haxe编译器使用require语句
- jquery if语句返回return wong语句
- 函数在return语句之前返回空对象
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 如何知道javascript for语句中的所有结果是否都是错误的
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- 组合多个. removeattr()语句