在jQuery中添加属性

Yud*_*ira 261 html tags jquery

如何在jQuery中将属性添加到特定的HTML标记中?

例如,像这个简单的HTML:

<input id="someid" />
Run Code Online (Sandbox Code Playgroud)

然后添加一个属性disabled ="true",如下所示:

<input id="someid" disabled="true" />
Run Code Online (Sandbox Code Playgroud)

Pau*_*nia 493

您可以使用attr如下方式添加属性:

$('#someid').attr('name', 'value');
Run Code Online (Sandbox Code Playgroud)

然而,对于DOM属性,如checked,disabledreadonly,要做到这一点(在jQuery 1.6),正确的方法是使用prop.

$('#someid').prop('disabled', true);
Run Code Online (Sandbox Code Playgroud)

  • 对我来说'$('#someid').prop('disabled',true);`不起作用,但`$('#someid').attr('disabled',true);`工作正常. (28认同)
  • 同意@VukašinManojlović..对我来说同样如此. (4认同)
  • 在决定是否要使用`attr`或`prop`之前,了解属性和属性之间的区别非常重要.如果不了解差异,您可能会遇到意外行为.请参见http://stackoverflow.com/a/6004028/3367343 (3认同)

diE*_*cho 41

最佳解决方案:从jQuery v1.6开始,您可以使用 prop()添加属性

$('#someid').prop('disabled', true);
Run Code Online (Sandbox Code Playgroud)

删除它,使用 removeProp()

$('#someid').removeProp('disabled');
Run Code Online (Sandbox Code Playgroud)

Reference

另请注意,不应使用.removeProp()方法将这些属性设置为false.删除本机属性后,无法再次添加.有关更多信息,请参见.removeProp().


mat*_*ven 26

您可以使用jQuery的.attr函数来完成此操作,该函数将设置属性.通过该.removeAttr功能删除它们.

//.attr()
$("element").attr("id", "newId");
$("element").attr("disabled", true);

//.removeAttr()
$("element").removeAttr("id");
$("element").removeAttr("disabled");
Run Code Online (Sandbox Code Playgroud)


Jer*_*ose 15

$('#someid').attr('disabled', 'true');
Run Code Online (Sandbox Code Playgroud)


mrz*_*myr 7

$('#someid').attr('disabled', 'true');
Run Code Online (Sandbox Code Playgroud)