如何使用jQuery在DOM元素中添加非值属性

How to add a non-value attribute in a DOM element with jQuery

本文关键字:添加 属性 元素 何使用 jQuery DOM      更新时间:2023-09-26

我想使用jQuery在DOM元素上添加一个属性。

该属性已禁用,引导程序使用该属性禁用元素。例如

<p>A paragraph</p>

并希望它成为

<p disabled> A paragraph </p>

但是运行以下代码

$('p').attr('disabled', '');

给我:

<p disabled="disabled"><A paragraph</p>

尝试使用prop(),但prop甚至没有添加属性。

$('p').prop('disabled','');

如何使用jQuery添加非值属性?

或者我做错了什么?

您处理的是DOM,而不是HTML。disableddisabled="disabled"是等效的,并且没有办法告诉浏览器(当串行化为HTML时)应该如何串行化可以以多种方式串行化的属性。

disabled=""是,上次检查时无效)

Try.replaceWith()

$('p').replaceWith(function (_, old) {
    return '<p disabled>' + old + '</p>';
});

小提琴演示