jquery - 如何使用jquery一次删除属性

标签 jquery

$('#myImage').removeAttr('class').removeAttr('style').removeAttr('border');

这个工作得很好,但是有没有办法从元素中删除一组属性?

我稍微修改了代码,例如

$.fn.removeAttrs = function () {
    // Convert all passed arguments to an array
    var args = arguments[0].split(' '),
        attr;

    // Loop, removing the first array item on each iteration
    while (attr = args.shift())
        this.removeAttr(attr);

    // Return the jQuery object for chaining
    return this;
}

像下面这样调用

$('#myImage').removeAttrs('class style border');

最佳答案

不,但你可以很容易地编写自己的:

$.fn.removeAttrs = function () {
    // Convert all passed arguments to an array
    var args = Array.prototype.slice.call(arguments),
        attr;

    // Loop, removing the first array item on each iteration
    while (attr = args.shift())
        this.removeAttr(attr);

    // Return the jQuery object for chaining
    return this;
}

$('#myImage').removeAttrs('class', 'style', 'border');

这里有一些不同的重载,jQuery 风格:

$.fn.removeAttrs = function () {
    // Convert all passed arguments to an array
    var args = Array.prototype.slice.call(arguments),
        attr;

    // Handle passing arrays or space-separated strings
    if (args.length == 1)
        args = $.isArray(args[0]) ? args[0] : args[0].split(" ");

    // Loop, removing the first array item on each iteration
    while (attr = args.shift())
        this.removeAttr(attr);

    // Return the jQuery object for chaining
    return this;
}

// Now all of the following will work 
$('#myImage').removeAttrs(['class', 'style', 'border']);
$('#myImage').removeAttrs('class', 'style', 'border');
$('#myImage').removeAttrs('class style border');

关于jquery - 如何使用jquery一次删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183051/

相关文章:

javascript 将 html div 中的内容复制到我创建的另一个页面中

javascript - Bootstrap 模态在调用时不显示

javascript - 从多个表加载后触发事件

jquery - 无法从 asp.net 代码后面调用 jquery 函数

javascript - 仅在不包含文本 JQuery 时附加 div

jquery - 如何使用 JQuery 获取总 Json 记录数?

javascript - 寻找 "day view"javascript 库/插件/日历

javascript - 重绘/刷新/设置超时 - 数据 xmlhttp.responseText

jQuery textbox.val ('xxxx' )不会导致更改触发?

javascript - 到达页面底部时发出警报 当我在顶部时发出警报