Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态更改的属性未设置值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 动态更改的属性未设置值

Javascript 动态更改的属性未设置值,javascript,jquery,html,Javascript,Jquery,Html,所以我要做的就是将文本输入的disabled和readonly属性分别设置为“disabled”和“readonly”。我尝试了以下方法: $("#testtext").attr('disabled','disabled'); $("#testtext").attr("readonly","readonly"); $("#testtext").attr('disabled',true); $("#testtext").attr("readonly",true); $("#testtext").p

所以我要做的就是将文本输入的disabled和readonly属性分别设置为“disabled”和“readonly”。我尝试了以下方法:

$("#testtext").attr('disabled','disabled');
$("#testtext").attr("readonly","readonly");
$("#testtext").attr('disabled',true);
$("#testtext").attr("readonly",true);
$("#testtext").prop('disabled',true);
$("#testtext").prop("readonly",true);
生成的标记如下所示:

<input type = "text" id = "testtext" disabled />

正如您所看到的,它正在添加禁用的属性,但没有给它一个值。这适用于某些设备,但并非所有我尝试支持的设备。这似乎是jQuery应该做的事情,但我的谷歌搜索在这方面并没有太多进展。有人有什么建议吗?任何建议都将不胜感激,谢谢

$("#testtext").prop("disabled", true);
$("#testtext").prop("readonly", true);
在任何地方都可以使用,因为这些都是布尔标志:它们的存在表示标志处于启用状态(元素处于禁用/只读状态),无论属性是否具有值(甚至标记中的值是什么)⇨
disabled=false
也被禁用)。

.prop(propertyName)
//要获取的属性的propertyName名称

.attr(attributeName)
//attributeName要获取的属性的名称

根据规范:

从jQuery1.6开始,.attr()方法返回未定义的属性 这还没有确定。此外,不应在上使用.attr() 普通对象、数组、窗口或文档。取回 更改DOM属性时,请使用.prop()方法

.prop()方法仅获取第一个元素的属性值 在匹配的集合中。它返回未定义的属性值 未设置,或者匹配的集合没有元素。得到 每个元素的值单独使用循环构造,例如 作为jQuery的.each()或.map()方法

属性和属性之间的差异在应用程序中可能很重要 具体情况。在jQuery1.6之前,有时使用.attr()方法 检索某些属性时考虑了属性值, 这可能会导致不一致的行为。从jQuery1.6开始,.prop() 方法提供了一种显式检索属性值的方法,而 .attr()检索属性

使用
.prop()
。它比
.attr()

属性通常会影响DOM元素的动态状态,而不会 更改序列化的HTML属性。例子包括价值 输入元素的属性、输入的禁用属性和 按钮,或复选框的已选中属性.prop()方法 应用于设置禁用和选中,而不是.attr() 方法


(来自
.prop()
的jquery文档)

哪些设备?您正在使用jQuery Mobile吗?
disabled
属性是一个:如果存在,不管值是多少,输入都被禁用。“结果标记”。。。使用JavaScript/jQuery操作DOM与标记无关。