javascript - 在javascript中使用变量动态引用html元素

标签 javascript jquery variables

如果勾选了复选框,我正在尝试使用 jQuery/javascript 从命名输入元素中删除类。

我有几个复选框,每个复选框都有一个附带的隐藏(页面加载)文本输入字段。

复选框和文本输入字段分别命名为“question_X”和“question_X_description”。 (例如,其中 X 是 0 到 100 之间的数字)

因此,我尝试在代码中定义一个变量,该变量定义为“此元素的名称”+“_description”,然后使用它来定义合适的元素以从中删除该类。

这是我尝试过的:

$('input:checkbox').change(function(){

var x = $(this).attr('name').'_description';

if($(this).is(":checked")) {
    $('input[name="x"]').removeClass("hidden");
} else {
     $('input[name="x"]').addClass("hidden");
}
});

但是,当选中任何复选框时,不会发生任何情况。我是否正确引用了我的变量?

最佳答案

使用你的控制台,它会出现错误消息。

第一期

var x = $(this).attr('name').'_description';
                           ^^^

这不是在 JavaScript 中构建字符串的方式。 JavaScript 不使用 . 来连接字符串。它使用 +

var x = $(this).attr('name') + '_description';

第二期

$('input[name="x"]').

您不是在寻找您构建的字符串,而是在寻找名为 x 的元素

需要

$('input[name="' + x + '"]').

关于javascript - 在javascript中使用变量动态引用html元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19522159/

相关文章:

javascript - Bootstrap 3 容器内的文本覆盖全 Angular 图像

javascript - 调整浏览器大小时无法使下拉菜单居中

IE 中 CSS 类的 Jquery 选择器确实很慢 - 有解决方法吗?

Python Borg设计模式,创建类的运行方法

javascript - 检查文本框是否包含无效字符

javascript - for循环不修改全局变量?

javascript - tinymce 捆绑返回 Markdown

jquery - 如何禁用 twitter bootstrap 3 中的折叠功能?

java - 使用变量来存储值还是直接从对象中获取值?

sql - Varchar 变量在 WHERE 子句中不起作用