在 JQuery 中,我可以使用变量名引用控件吗?我正在尝试更改标签的文本,但似乎找不到引用它的方法



单击JQuery中的标签时,我正试图更改该标签的文本。

当我使用其确切名称引用控件("CCP"(时,此代码有效:

$("label[for='ACCP']").text("the new text");

但我希望能够使用变量而不是其确切名称来引用控件。这不起作用:

$("label[for=' + this.id + ']").text("the new text");

我很确定正确的控件在this.id后面,因为当我弹出一条消息来检索当前控件的id时,它会给我预期的控件名称:

var ctrlName = this.id;
alert(ctrlName); 

->在这种情况下,正确地返回"ACCP"。

我的代码中可能缺少一个明显的语法错误,但我从来没有做过JQuery——我的代码都是复制粘贴的;(

提前感谢您的宝贵帮助,JM-

您需要关闭双引号:https://jsfiddle.net/gz61mdbf/

this.id = 'new_code'
$("label[for='" + this.id + "']").text("the new text");

您正在对for执行字符串操作而不关闭它们,这就是为什么它对您不起作用。

您尝试过$("label[for=" + $(this).id + "]").text("the new text");吗?

就像在这个链接中所说的:

使用此方法时,可以对其调用DOM方法,但不能调用jQuery方法。当使用$(this(时,可以对其调用jQuery方法,但是而不是DOM方法。

希望这能对您有所帮助。

最新更新