所以,我让JQuery动态生成控件。输入控件称为EnterLink +生成的控件数。在生成新的输入控件时,我想更改先前创建的输入,以便禁用它。现在我的代码看起来如此,它不起作用。
if (rowCount > 0) {
var last = rowCount - 1;
$("#EnterLink" + last).disabled = true;
}
这看起来应该可以工作,我检查了控件的ID,这就像它们的格式一样。
答案 0 :(得分:10)
替换它:
$("#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
函数来删除已禁用的值。
答案 1 :(得分:2)
如果您尝试禁用按钮,则会出现以下情况:
$(“#EnterLink”+ last).attr(“disabled”,true); 要么 $(“#EnterLink”+ last).attr(“禁用”,“禁用”);