jQuery动态ID控件属性
Posted
技术标签:
【中文标题】jQuery动态ID控件属性【英文标题】:JQuery dynamic ID control property 【发布时间】:2010-11-08 04:37:18 【问题描述】:所以,我有 JQuery 动态生成控件。输入控件称为 EnterLink + 生成的控件数。在生成新的输入控件时,我想更改以前创建的输入,使其被禁用。现在我的代码看起来像这样,它不起作用。
if (rowCount > 0)
var last = rowCount - 1;
$("#EnterLink" + last).disabled = true;
这看起来应该可以工作,我检查了控件的 ID,这与它们的格式完全一样。
【问题讨论】:
【参考方案1】:替换这个:
$("#EnterLink" + last).disabled = true;
有了这个:
$("#EnterLink" + last).attr('disabled', true);
jQuery 不直接通过其$()
函数公开常规DOM 属性。你所拥有的是一个包装的集合(当然,它只会匹配 1 个元素,但仍然是一个集合),它扩展了元素并为其添加了所有 jQuery 优点。
如果你想获得#EnterLinkX
的原生 DOM 元素,你可以这样做:
$("#EnterLink" + last)[0].disabled = true;
这是因为$()
的返回值是一个包含匹配元素的类数组结构。 [0]
将包含第一个(仅在这种情况下)匹配。这将使您可以访问innerhtml
等内容。但是,99% 的情况下,您最好使用“jQuery 方式”,因为这就是库的重点。在这种情况下,您可以使用它的attr
函数来设置属性,如果您愿意,可以使用removeAttr
函数来删除禁用的值。
【讨论】:
谢谢! 15 个字符限制臭味【参考方案2】:如果您尝试禁用按钮,则如下所示。
$("#EnterLink" + last).attr("禁用", true ); 要么 $("#EnterLink" + last).attr("disabled", "disabled");
【讨论】:
docs.jquery.com/Alternative_Resources 拥有 jquery 开发所需的一切。以上是关于jQuery动态ID控件属性的主要内容,如果未能解决你的问题,请参考以下文章