Javascript 合并多个.removeAttr()语句
我有多个removeAttr有什么方法可以合并它们吗 我所拥有的:这很有效Javascript 合并多个.removeAttr()语句,javascript,jquery,Javascript,Jquery,我有多个removeAttr有什么方法可以合并它们吗 我所拥有的:这很有效 checkboxes.removeAttr("checked",'checked'); checkboxes.removeAttr("indeterminate", false); checkboxes.removeAttr("role", 'checkbox'); checkboxes.removeAttr("aria-checked", false); 我尝试过的:这不起作用 checkboxes.removeAt
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
感谢您的帮助。谢谢。根据文档,它不接受对象。所以
复选框。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);
根据doc,它不接受对象。所以
复选框。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);
只需将$。与数组一起使用即可,快速、简短且可扩展
$.each(["checked","indeterminate"],function(i,attrName){
checkbox.removeAttr(attrName);
});
只需将$。与数组一起使用即可,快速、简短且可扩展
$.each(["checked","indeterminate"],function(i,attrName){
checkbox.removeAttr(attrName);
});
我不知道为什么要同时将键和值传递给removeAttr,但如果您只想从元素中删除这4个属性,请传递一个以空格分隔的键列表,如下所示:
checkboxes.removeAttr("checked indeterminate role aria-checked");
我不知道为什么要同时将键和值传递给removeAttr,但如果您只想从元素中删除这4个属性,请传递一个以空格分隔的键列表,如下所示:
checkboxes.removeAttr("checked indeterminate role aria-checked");
@RocketHazmat是对的,所以它是这样的:
checkboxes.removeAttr("checked indeterminate role aria-checked");
但是您需要jQuery的1.7或更高版本。@RocketHazmat是正确的,所以它是这样的:
checkboxes.removeAttr("checked indeterminate role aria-checked");
但是您需要jQuery的1.7或更高版本。只接受一个参数。要删除的属性;从1.7版开始,它可以是一个以空格分隔的属性列表。你不是真的在寻找.prop吗?只接受一个参数。要删除的属性;从1.7版开始,它可以是一个以空格分隔的属性列表。您不是真的在寻找.prop吗?removeAttr只接受一个参数,而不是两个。@PuzzledBoy是一个严重的错误。。。很抱歉:谢谢你更好地向我解释这一点。然而,我喜欢凯文B的方法,并将接受这作为我的答案。@japanFour thx很多。。。我很高兴。。。因为我认为Kevin是所有线程中最好的一个。@Jeremy T,没错,这就是为什么我认为我可以用removeAttr做同样的事情。removeAttr只接受一个参数,而不是两个。@PuzzledBoy是一个严重的错误。。。很抱歉:谢谢你更好地向我解释这一点。然而,我喜欢凯文B的方法,并将接受这作为我的答案。@japanFour thx很多。。。我很高兴。。。因为凯文是所有线程中最好的,我想。@Jeremy T,没错,这就是为什么我认为我可以用removeAttr做同样的事情。这是最好的方法。。这将有助于无需每次重复代码。removeAttr..这是最好的方法。。这将有助于无需每次重复代码。removeAttr..对,如果使用较旧版本的jQuery,则需要使用CodeParadoxRight描述的方法,如果使用较旧版本的jQuery,则需要使用thecodeparadox@RocketHazmat对不起,打错了。别担心。很好:-@RocketHazmat很抱歉打错了。别担心。很好:-