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控件属性的主要内容,如果未能解决你的问题,请参考以下文章

使用输入控件动态操作元素属性?

C# winform 由id获取该控件!

在 javascript 或 JQuery 中查找控件

jquery怎样把日期控件输入的日期写入span,绑定日期控件的输入框不输入任何内容?

MFC如何动态添加控件

如何在Relativelayout中动态设置控件位置